diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 6121660..e9bc3d8 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": "main", "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_de-de.txt b/.config/nvim/lua/dictionaries/dictionary_de-de.txt index 7587e7b..0a39d53 100644 --- a/.config/nvim/lua/dictionaries/dictionary_de-de.txt +++ b/.config/nvim/lua/dictionaries/dictionary_de-de.txt @@ -1,21 +1,23 @@ Bonitur +Entlebucher Sennenhund Homeserver +Impro-Theater +Improtheater Infokratie Königinnensubstanz Magazinbeute Magazinbeuten +Orgas Poetry Poetry-Slam Poetryslam Pollenhose Slam +Slammern Slams Torrenting -shiftete -Unitheater Uni-Theater -meta +Unitheater egozentristisch -Slammern -Impro-Theater -Improtheater +Meta +shiftete diff --git a/.config/nvim/lua/dictionaries/dictionary_names.txt b/.config/nvim/lua/dictionaries/dictionary_names.txt index 2824d93..66882bf 100644 --- a/.config/nvim/lua/dictionaries/dictionary_names.txt +++ b/.config/nvim/lua/dictionaries/dictionary_names.txt @@ -1,10 +1,47 @@ +APV Akallabêth +Annoyed Altisaur Aule +Barros +Boarding Party +Boelsen +CDSS Casper +Caspers +CdE +Combi +Commander Edain +Elodie +Eyal +Greater +Guttersnipe +Habenhausen +IFAM +IFAMs Jeanine +Kratom +Kubitschek +Käte +MTG +Magic +Magic: The Gathering Mathis +Matvey Mint Númenor +Overwatch PopOS +Precon +Precons +Shinies +Shiny +SommerAka +SommerAkademie +TCAV +Weizman +WinterAka WinterAkademie +Writhing Chrysalis +Ziegeleiweg +Zimin diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua index 8b65fe6..03e45fd 100644 --- a/.config/nvim/lua/keymap.lua +++ b/.config/nvim/lua/keymap.lua @@ -1,5 +1,6 @@ -- setup keymap function local wk = require("which-key") +local telescope = require("telescope") local lazygit = require("FTerm"):new({ cmd = "lazygit" }) wk.add({ @@ -8,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"}, @@ -61,7 +63,6 @@ wk.add({ {mode = "n", "tt", require("FTerm").toggle, desc = "Terminal: open", noremap = true}, {mode = "n", "gt", function() lazygit:toggle() end, desc = "Git: open lazygit", noremap = true}, {mode = "n", "tg", function() lazygit:toggle() end, desc = "Terminal: open lazygit", noremap = true}, - {mode = "n", "tg", function() lazygit:toggle() end, desc = "Terminal: open lazygit", noremap = true}, -- sindrets/diffview.nvim {mode = "n", "gdo", ":DiffviewOpen", desc = "Git: open diff"}, {mode = "n", "gdc", ":DiffviewClose", desc = "Git: close diff"}, @@ -87,6 +88,9 @@ wk.add({ -- nvim-telescope/telescope.nvim {mode = "n", "ff", ":Telescope find_files", desc = "Telescope: find files", noremap = true}, {mode = "n", "ff", ":Telescope find_files", desc = "Telescope: find files", noremap = true}, + -- archie-judd/telescope-words.nvim + {mode = "n", "wd", telescope.extensions.telescope_words.search_dictionary, desc = "Telescope: search dictionary", noremap = true}, + {mode = "n", "wt", telescope.extensions.telescope_words.search_thesaurus, desc = "Telescope: search thesaurus", noremap = true}, -- gnikdroy/projections.nvim {mode = "n", "fp", function() vim.cmd("Telescope projections") end, desc = "Telescope: find projects", noremap = true}, -- kamykn/spelunker.vim @@ -110,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, + }, + }, + }, + }, + } +} diff --git a/.config/nvim/lua/plugins/telescope.lua b/.config/nvim/lua/plugins/telescope.lua index 8382353..dc31800 100644 --- a/.config/nvim/lua/plugins/telescope.lua +++ b/.config/nvim/lua/plugins/telescope.lua @@ -3,7 +3,10 @@ return { { 'nvim-telescope/telescope.nvim', version = '0.1.2', - dependencies = { 'nvim-lua/plenary.nvim' }, + dependencies = { + 'nvim-lua/plenary.nvim', + 'archie-judd/telescope-words.nvim' + }, opts = {} } }