diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 39ed0fd..98423aa 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -13,6 +13,7 @@ "cpsm": { "branch": "master", "commit": "1a5fc1b6169bb80c29b0b986130c4f3f1a9ed82e" }, "csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "edgy.nvim": { "branch": "main", "commit": "8bfd2808994a988c975694122f68624b8a219f5f" }, "fterm.nvim": { "branch": "master", "commit": "d1320892cc2ebab472935242d9d992a2c9570180" }, "fzy-lua-native": { "branch": "master", "commit": "9d720745d5c2fb563c0d86c17d77612a3519c506" }, "git-blame.nvim": { "branch": "master", "commit": "9874ec1ec8bc53beb33b7cd82c092b85271a578b" }, @@ -35,6 +36,7 @@ "modes.nvim": { "branch": "main", "commit": "0932ba4e0bdc3457ac89a8aeed4d56ca0b36977a" }, "molten-nvim": { "branch": "main", "commit": "a286aa914d9a154bc359131aab788b5a077a5a99" }, "none-ls.nvim": { "branch": "main", "commit": "5cf63841461b49989972d35bf886e076a1ab3649" }, + "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, "nvim-colorizer.lua": { "branch": "master", "commit": "6ed09146ee637006367b5e225be6208a1ea02579" }, "nvim-docs-view": { "branch": "master", "commit": "5676cc094d426edd39134b1eefca2cab441cca8a" }, @@ -49,6 +51,7 @@ "nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" }, "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, "nvim-yarp": { "branch": "master", "commit": "bb5f5e038bfe119d3b777845a76b0b919b35ebc8" }, + "ogpt.nvim": { "branch": "main", "commit": "0fae02db8cb07391f86c3dbe807f62190a2d997f" }, "otter.nvim": { "branch": "main", "commit": "fc0aa35b1985077d11a20ddf4006bf40f2cd7397" }, "outline.nvim": { "branch": "main", "commit": "6b62f73a6bf317531d15a7ae1b724e85485d8148" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, @@ -61,6 +64,7 @@ "spelunker.vim": { "branch": "master", "commit": "a0bc530f62798bbe053905555a4aa9ed713485eb" }, "tabular": { "branch": "master", "commit": "12437cd1b53488e24936ec4b091c9324cafee311" }, "tccs.nvim": { "branch": "master", "commit": "e50c1504286b5ee2700961a600f26c9b338bd042" }, + "telescope-words.nvim": { "branch": "main", "commit": "295d51fe1e525fee18c0c164ad0ae5fb23273aa0" }, "telescope.nvim": { "branch": "master", "commit": "776b509f80dd49d8205b9b0d94485568236d1192" }, "tidy.nvim": { "branch": "main", "commit": "c8cd0e6e0108da25c3e10c3f33d8c03b3d8806f1" }, "todo-comments.nvim": { "branch": "main", "commit": "19d461ddd543e938eb22505fb03fa878800270b6" }, diff --git a/.config/nvim/lua/dictionaries/dictionary_names.txt b/.config/nvim/lua/dictionaries/dictionary_names.txt index 6dd86a1..5ce8130 100644 --- a/.config/nvim/lua/dictionaries/dictionary_names.txt +++ b/.config/nvim/lua/dictionaries/dictionary_names.txt @@ -1,6 +1,10 @@ APV Akallabêth +Annoyed Altisaur Aule +Barros +Boarding Party +Boelsen CDSS Casper Caspers @@ -10,24 +14,32 @@ Commander Edain Elodie Eyal +Greater +Guttersnipe +Habenhausen IFAM IFAMs Jeanine Kratom Kubitschek +Käte MTG Magic Magic: The Gathering Mathis +Matvey Númenor +Overwatch Precon Precons -Shiny Shinies -SommerAkademie +Shiny SommerAka +SommerAkademie TCAV Weizman -WinterAkademie WinterAka +WinterAkademie +Writhing Chrysalis Ziegeleiweg +Zimin diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua index 597f563..03e45fd 100644 --- a/.config/nvim/lua/keymap.lua +++ b/.config/nvim/lua/keymap.lua @@ -9,6 +9,7 @@ wk.add({ {mode = "n", "gp", desc = "LSP: preview"}, {mode = "c", "w", desc = "Write"}, {mode = "c", "w!", desc = "Write: overwrite"}, + {mode = "n", "a", desc = "AI"}, {mode = "n", "g", desc = "Git"}, {mode = "n", "f", desc = "Telescope: find"}, {mode = "n", "gd", desc = "Git: diff"}, @@ -113,4 +114,6 @@ wk.add({ {mode = "n", "rl", require("quarto.runner").run_line, desc = "Quarto: Run line", noremap = true, silent = true}, {mode = "n", "rr", require("quarto.runner").run_range, desc = "Quarto: Run visual range", noremap = true, silent = true}, {mode = "n", "rL", function() require("quarto.runner").run_all(true) end, desc = "Quarto: Run all cells of all languages", noremap = true, silent = true}, + -- huynle/ogpt-nvim + {mode = "n", "ai", ":OGPT", desc = "OGTP: Open AI View", noremap = true}, }) diff --git a/.config/nvim/lua/plugins/ogpt.lua b/.config/nvim/lua/plugins/ogpt.lua new file mode 100644 index 0000000..31cb05a --- /dev/null +++ b/.config/nvim/lua/plugins/ogpt.lua @@ -0,0 +1,139 @@ +return { +{ + "huynle/ogpt.nvim", + event = "VeryLazy", + opts = { + default_provider = "ollama", + edgy = true, -- enable this! + single_window = false, -- set this to true if you want only one OGPT window to appear at a time + providers = { + ollama = { + api_host = "http://localhost:11434", -- free resources: https://github.com/cheahjs/free-llm-api-resources + api_key = "", + model = "deepseek-r1:7b", + } + } + }, + dependencies = { + "MunifTanjim/nui.nvim", + "nvim-lua/plenary.nvim", + "nvim-telescope/telescope.nvim" + } +}, +{ + "folke/edgy.nvim", + event = "VeryLazy", + init = function() + vim.opt.laststatus = 3 + vim.opt.splitkeep = "screen" -- or "topline" or "screen" + end, + opts = { + exit_when_last = false, + animate = { + enabled = false, + }, + wo = { + winbar = true, + winfixwidth = true, + winfixheight = false, + winhighlight = "WinBar:EdgyWinBar,Normal:EdgyNormal", + spell = false, + signcolumn = "no", + }, + keys = { + -- -- close window + ["q"] = function(win) + win:close() + end, + -- close sidebar + ["Q"] = function(win) + win.view.edgebar:close() + end, + -- increase width + [""] = function(win) + win:resize("width", 3) + end, + -- decrease width + [""] = function(win) + win:resize("width", -3) + end, + -- increase height + [""] = function(win) + win:resize("height", 3) + end, + -- decrease height + [""] = function(win) + win:resize("height", -3) + end, + }, + right = { + { + title = "OGPT Popup", + ft = "ogpt-popup", + size = { width = 0.2 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPT Parameters", + ft = "ogpt-parameters-window", + size = { height = 6 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPT Template", + ft = "ogpt-template", + size = { height = 6 }, + }, + { + title = "OGPT Sessions", + ft = "ogpt-sessions", + size = { height = 6 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPT System Input", + ft = "ogpt-system-window", + size = { height = 6 }, + }, + { + title = "OGPT", + ft = "ogpt-window", + size = { height = 0.5 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPT {{{selection}}}", + ft = "ogpt-selection", + size = { width = 80, height = 4 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPt {{{instruction}}}", + ft = "ogpt-instruction", + size = { width = 80, height = 4 }, + wo = { + wrap = true, + }, + }, + { + title = "OGPT Chat", + ft = "ogpt-input", + size = { width = 80, height = 4 }, + wo = { + wrap = true, + }, + }, + }, + }, + } +}