feat(nvim): update plugins and config

This commit is contained in:
2026-04-24 20:42:17 -04:00
parent 45dceba337
commit 2aff2eb423
14 changed files with 251 additions and 215 deletions
+12
View File
@@ -4,6 +4,18 @@ vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter", "CursorHold", "CursorHo
command = "checktime", command = "checktime",
}) })
-- get terminal to follow directory
vim.api.nvim_create_autocmd({ 'TermRequest' }, {
desc = 'Handles OSC 7 dir change requests',
callback = function(ev)
local pwd, n = string.gsub(ev.data.sequence, '\027]7;file://[^/]*', '')
if n <= 0 then return end
if vim.fn.isdirectory(pwd) == 0 then return end
if vim.api.nvim_get_current_buf() ~= ev.buf then return end
vim.cmd.cd(pwd)
end
})
-- Check if we need to reload the file when it changed -- Check if we need to reload the file when it changed
vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, { vim.api.nvim_create_autocmd({ "FocusGained", "TermClose", "TermLeave" }, {
desc = 'Check time', desc = 'Check time',
+1 -3
View File
@@ -63,10 +63,8 @@ vim.keymap.set('n', '<leader>ex', "<cmd>!chmod +x %<cr>", { desc = "Make file ex
vim.keymap.set('n', "<leader>eL", "<cmd>source %<cr>", { desc = "Source current buffer" }) vim.keymap.set('n', "<leader>eL", "<cmd>source %<cr>", { desc = "Source current buffer" })
vim.keymap.set('n', "<leader>el", "<cmd>.lua<cr>", { desc = "Source current line" }) vim.keymap.set('n', "<leader>el", "<cmd>.lua<cr>", { desc = "Source current line" })
vim.keymap.set('v', "<leader>el", "<cmd>lua<cr>", { desc = "Source current line" }) vim.keymap.set('v', "<leader>el", "<cmd>lua<cr>", { desc = "Source current line" })
vim.keymap.set('n', '<leader>xu', '<cmd>Lazy sync<cr>', { desc = 'Lazy sync' })
vim.keymap.set("n", "<leader>ey", function()
vim.keymap.set("n", "<leader>cx", function()
local file = vim.fn.expand "%" local file = vim.fn.expand "%"
local line = vim.fn.line "." local line = vim.fn.line "."
vim.fn.setreg("+", string.format("%s:%d", file, line)) vim.fn.setreg("+", string.format("%s:%d", file, line))
+78 -77
View File
@@ -75,7 +75,7 @@ vim.opt.signcolumn = "yes"
vim.opt.wrap = false vim.opt.wrap = false
vim.opt.scrolloff = 8 vim.opt.scrolloff = 8
vim.opt.sidescrolloff = 8 vim.opt.sidescrolloff = 8
vim.opt.shell = "/bin/bash" vim.opt.shell = vim.env.SHELL
vim.opt.sessionoptions = { "blank", "buffers", "curdir", "tabpages", "winsize", "winpos", "terminal", "localoptions", "help", "skiprtp", "folds" } vim.opt.sessionoptions = { "blank", "buffers", "curdir", "tabpages", "winsize", "winpos", "terminal", "localoptions", "help", "skiprtp", "folds" }
vim.opt.virtualedit = "block" vim.opt.virtualedit = "block"
vim.opt.wildmode = "longest:full,full" vim.opt.wildmode = "longest:full,full"
@@ -114,95 +114,96 @@ vim.filetype.add({
vim.pack.add({ vim.pack.add({
{ src = "https://github.com/folke/snacks.nvim" }, { src = "https://github.com/folke/snacks.nvim" },
{ src = "https://github.com/folke/trouble.nvim" },
{ src = "https://github.com/olimorris/codecompanion.nvim" }, { src = "https://github.com/olimorris/codecompanion.nvim" },
{ src = 'https://github.com/Civitasv/cmake-tools.nvim' },
{ src = 'https://github.com/Davidyz/VectorCode' },
{ src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' },
{ src = 'https://github.com/HakonHarnes/img-clip.nvim' },
{ src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' },
{ src = 'https://github.com/L3MON4D3/LuaSnip' }, { src = 'https://github.com/L3MON4D3/LuaSnip' },
{ src = 'https://github.com/rafamadriz/friendly-snippets' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' }, { src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
{ src = 'https://github.com/NeogitOrg/neogit' },
{ src = 'https://github.com/NicolasGB/jj.nvim' },
{ src = 'https://github.com/PhantomYdn/fabric-ai.nvim' },
{ src = 'https://github.com/Saecki/crates.nvim' },
{ src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') }, { src = 'https://github.com/Saghen/blink.cmp', version = vim.version.range('1.*') },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' },
{ src = 'https://github.com/fang2hou/blink-copilot' },
{ src = 'https://github.com/folke/todo-comments.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/moyiz/blink-emoji.nvim' },
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' },
{ src = 'https://github.com/nvim-tree/nvim-web-devicons' },
{ src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' }, { src = 'https://github.com/SjB/orgmode', version = 'sjb-wip' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' }, { src = 'https://github.com/SmiteshP/nvim-navic' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' }, { src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' }, { src = 'https://github.com/akinsho/org-bullets.nvim' },
{ src = 'https://github.com/nvim-mini/mini.extra' }, { src = 'https://github.com/akinsho/toggleterm.nvim' },
{ src = 'https://github.com/al1-ce/just.nvim' },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' },
{ src = 'https://github.com/carlos-algms/agentic.nvim' },
{ src = 'https://github.com/chipsenkbeil/org-roam.nvim' },
{ src = 'https://github.com/christoomey/vim-tmux-navigator' },
{ src = 'https://github.com/copilotlsp-nvim/copilot-lsp' },
{ src = 'https://github.com/esmuellert/codediff.nvim' },
{ src = 'https://github.com/fang2hou/blink-copilot' },
{ src = 'https://github.com/folke/flash.nvim' },
{ src = 'https://github.com/folke/persistence.nvim' },
{ src = 'https://github.com/folke/todo-comments.nvim' },
{ src = 'https://github.com/folke/which-key.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' },
{ src = 'https://github.com/hat0uma/csvview.nvim' },
{ src = 'https://github.com/hedyhli/outline.nvim' },
{ src = 'https://github.com/iamcco/markdown-preview.nvim' },
{ src = 'https://github.com/j-hui/fidget.nvim' },
{ src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' },
{ src = 'https://github.com/julienvincent/hunk.nvim' },
{ src = 'https://github.com/lervag/vimtex' },
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
{ src = 'https://github.com/mbbill/undotree' },
{ src = 'https://github.com/mfussenegger/nvim-ansible' },
{ src = 'https://github.com/mfussenegger/nvim-dap' },
{ src = 'https://github.com/mistweaverco/kulala.nvim' },
{ src = 'https://github.com/moyiz/blink-emoji.nvim' },
{ src = 'https://github.com/neovim/nvim-lspconfig' },
{ src = 'https://github.com/nvim-lua/plenary.nvim' },
{ src = 'https://github.com/nvim-lualine/lualine.nvim' },
{ src = 'https://github.com/nvim-mini/mini.ai' }, { src = 'https://github.com/nvim-mini/mini.ai' },
{ src = 'https://github.com/nvim-mini/mini.move' },
{ src = 'https://github.com/nvim-mini/mini.align' }, { src = 'https://github.com/nvim-mini/mini.align' },
{ src = 'https://github.com/nvim-mini/mini.bracketed' }, { src = 'https://github.com/nvim-mini/mini.bracketed' },
{ src = 'https://github.com/nvim-mini/mini.operators' }, { src = 'https://github.com/nvim-mini/mini.extra' },
{ src = 'https://github.com/nvim-mini/mini.surround' },
{ src = 'https://github.com/nvim-mini/mini.splitjoin' },
{ src = 'https://github.com/nvim-mini/mini.hipatterns' },
{ src = 'https://github.com/nvim-mini/mini.files' }, { src = 'https://github.com/nvim-mini/mini.files' },
{ src = 'https://github.com/nvim-mini/mini.hipatterns' },
{ src = 'https://github.com/nvim-mini/mini.move' },
{ src = 'https://github.com/nvim-mini/mini.operators' },
{ src = 'https://github.com/nvim-mini/mini.sessions' }, { src = 'https://github.com/nvim-mini/mini.sessions' },
{ src = 'https://github.com/mfussenegger/nvim-ansible' }, { src = 'https://github.com/nvim-mini/mini.splitjoin' },
{ src = 'https://github.com/obsidian-nvim/obsidian.nvim' }, { src = 'https://github.com/nvim-mini/mini.surround' },
{ src = 'https://github.com/salkin-mada/openscad.nvim' },
{ src = 'https://github.com/akinsho/org-bullets.nvim' },
{ src = 'https://github.com/chipsenkbeil/org-roam.nvim' },
{ src = 'https://github.com/iamcco/markdown-preview.nvim' },
{ src = 'https://github.com/lervag/vimtex' },
{ src = 'https://github.com/MeanderingProgrammer/render-markdown.nvim' },
{ src = 'https://github.com/hat0uma/csvview.nvim' },
{ src = 'https://github.com/j-hui/fidget.nvim' },
{ src = 'https://github.com/utilyre/barbecue.nvim' },
{ src = 'https://github.com/SmiteshP/nvim-navic' },
{ src = 'https://github.com/folke/flash.nvim' },
{ src = 'https://github.com/nvim-lualine/lualine.nvim' },
{ src = 'https://github.com/hedyhli/outline.nvim' },
{ src = 'https://github.com/stevearc/quicker.nvim' },
{ src = 'https://github.com/christoomey/vim-tmux-navigator' },
{ src = 'https://github.com/akinsho/toggleterm.nvim' },
{ src = 'https://github.com/ten3roberts/window-picker.nvim' },
{ src = 'https://github.com/folke/which-key.nvim' },
{ src = 'https://github.com/al1-ce/just.nvim' },
{ src = 'https://github.com/mistweaverco/kulala.nvim' },
{ src = 'https://github.com/HakonHarnes/img-clip.nvim' },
{ src = 'https://github.com/uhs-robert/sshfs.nvim' },
{ src = 'https://github.com/esmuellert/codediff.nvim' },
{ src = 'https://plugins.ejri.dev/mise.nvim' },
{ src = 'https://github.com/NeogitOrg/neogit' },
{ src = 'https://github.com/thunder-coding/zincoxide' },
{ src = 'https://github.com/sindrets/diffview.nvim' },
{ src = 'https://github.com/MunifTanjim/nui.nvim' },
{ src = 'https://github.com/stevearc/conform.nvim' },
{ src = 'https://github.com/lewis6991/gitsigns.nvim' },
{ src = 'https://github.com/NicolasGB/jj.nvim' },
{ src = 'https://github.com/julienvincent/hunk.nvim' },
{ src = 'https://github.com/rafikdraoui/jj-diffconflicts' },
{ src = 'https://github.com/Glhou/jjsigns.nvim', version = 'fix/skip-extra-lines' },
{ src = 'https://github.com/williamboman/mason.nvim' },
{ src = 'https://github.com/williamboman/mason-lspconfig.nvim' },
{ src = 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim' },
{ src = 'https://github.com/neovim/nvim-lspconfig' },
{ src = 'https://github.com/rcarriga/nvim-dap-ui' },
{ src = 'https://github.com/mfussenegger/nvim-dap' },
{ src = 'https://github.com/nvim-neotest/nvim-nio' }, { src = 'https://github.com/nvim-neotest/nvim-nio' },
{ src = 'https://github.com/jay-babu/mason-nvim-dap.nvim' },
{ src = 'https://github.com/Saecki/crates.nvim' },
{ src = 'https://github.com/JoosepAlviste/nvim-ts-context-commentstring' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/mbbill/undotree' },
{ src = 'https://github.com/Civitasv/cmake-tools.nvim' },
{ src = 'https://github.com/folke/persistence.nvim' },
{ src = 'https://github.com/otavioschwanck/arrow.nvim' },
{ src = 'https://github.com/nvim-pack/nvim-spectre' }, { src = 'https://github.com/nvim-pack/nvim-spectre' },
{ src = 'https://github.com/stevearc/overseer.nvim' }, { src = 'https://github.com/nvim-tree/nvim-web-devicons' },
{ src = 'https://github.com/Davidyz/VectorCode' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter', version = 'main' },
{ src = 'https://github.com/franco-ruggeri/codecompanion-spinner.nvim' }, { src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-context' },
{ src = 'https://github.com/nvim-treesitter/nvim-treesitter-textobjects', version = 'main' },
{ src = 'https://github.com/obsidian-nvim/obsidian.nvim' },
{ src = 'https://github.com/otavioschwanck/arrow.nvim' },
{ src = 'https://github.com/rafamadriz/friendly-snippets' },
{ src = 'https://github.com/rafikdraoui/jj-diffconflicts' },
{ src = 'https://github.com/ravitemer/codecompanion-history.nvim' }, { src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/cairijun/codecompanion-agentskills.nvim' }, { src = 'https://github.com/ravitemer/codecompanion-history.nvim' },
{ src = 'https://github.com/rcarriga/nvim-dap-ui' },
{ src = 'https://github.com/salkin-mada/openscad.nvim' },
{ src = 'https://github.com/sindrets/diffview.nvim' },
{ src = 'https://github.com/stevearc/conform.nvim' },
{ src = 'https://github.com/stevearc/overseer.nvim' },
{ src = 'https://github.com/stevearc/quicker.nvim' },
{ src = 'https://github.com/ten3roberts/window-picker.nvim' },
{ src = 'https://github.com/thunder-coding/zincoxide' },
{ src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' }, { src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' },
{ src = 'https://github.com/carlos-algms/agentic.nvim' }, { src = 'https://github.com/ttgrules/cc-adapter-copilot-cli-acp' },
{ src = 'https://github.com/uhs-robert/sshfs.nvim' },
{ src = 'https://github.com/utilyre/barbecue.nvim' },
{ src = 'https://github.com/williamboman/mason-lspconfig.nvim' },
{ src = 'https://github.com/williamboman/mason.nvim' },
{ src = 'https://github.com/zbirenbaum/copilot.lua' }, { src = 'https://github.com/zbirenbaum/copilot.lua' },
{ src = 'https://github.com/copilotlsp-nvim/copilot-lsp' }, { src = 'https://plugins.ejri.dev/mise.nvim' },
{ src = 'https://github.com/PhantomYdn/fabric-ai.nvim' },
}) })
+6 -6
View File
@@ -11,8 +11,8 @@ require('agentic').setup({
mode = { "i", "n", "v" }, -- Specify modes for this keybinding mode = { "i", "n", "v" }, -- Specify modes for this keybinding
}, },
}, },
switch_provider = "<localLeader>ras", -- Switch ACP provider switch_provider = "ga", -- Switch ACP provider
switch_model = "<localLeader>ram", -- Switch model switch_model = "gm", -- Switch model
}, },
-- Keybindings for the prompt buffer only -- Keybindings for the prompt buffer only
@@ -46,10 +46,10 @@ require('agentic').setup({
}) })
vim.keymap.set({ "n", "v", "i" }, '<leader>rat', function() require("agentic").toggle() end, { desc = "Toggle Agentic Chat" }) vim.keymap.set({ "n", "v", "i" }, '<leader>mat', function() require("agentic").toggle() end, { desc = "Toggle Agentic Chat" })
vim.keymap.set({ "n", "v" }, '<C-\'>', function() require("agentic").add_selection_or_file_to_context() end, { desc = "Add file or selection to Agentic to Context" }) vim.keymap.set({ "n", "v" }, '<C-\'>', function() require("agentic").add_selection_or_file_to_context() end, { desc = "Add file or selection to Agentic to Context" })
vim.keymap.set({ "n", "v", "i" }, '<leader>ran', function() require("agentic").new_session() end, { desc = "New Agentic Session" }) vim.keymap.set({ "n", "v", "i" }, '<leader>man', function() require("agentic").new_session() end, { desc = "New Agentic Session" })
vim.keymap.set({ "n", "v", "i" }, '<A-i>r', function() require("agentic").restore_session() end, { desc = "Agentic Restore session" }) vim.keymap.set({ "n", "v", "i" }, '<A-i>r', function() require("agentic").restore_session() end, { desc = "Agentic Restore session" })
vim.keymap.set({ "n" }, '<leader>rad', function() require("agentic").add_current_line_diagnostics() end, { desc = "Add current line diagnostic to Agentic" }) vim.keymap.set({ "n" }, '<leader>mad', function() require("agentic").add_current_line_diagnostics() end, { desc = "Add current line diagnostic to Agentic" })
vim.keymap.set({ "n" }, '<leader>raD', function() require("agentic").add_buffer_diagnostics() end, { desc = "Add all buffer diagnostics to Agentic" }) vim.keymap.set({ "n" }, '<leader>maD', function() require("agentic").add_buffer_diagnostics() end, { desc = "Add all buffer diagnostics to Agentic" })
+50 -50
View File
@@ -1,14 +1,14 @@
vim.keymap.set({'n', 'v'}, '<leader>rct', '<cmd>CodeCompanionChat Toggle<cr>', { noremap = true, silent = true, desc = "CC Toggle" }) vim.keymap.set({'n', 'v'}, '<leader>mct', '<cmd>CodeCompanionChat Toggle<cr>', { noremap = true, silent = true, desc = "CC Toggle" })
vim.keymap.set({ 'n', 'v' }, '<leader>rca', '<cmd>CodeCompanionActions<cr>', { noremap = true, silent = true, desc = "CC Action" }) vim.keymap.set({'n', 'v'}, '<leader>mca', '<cmd>CodeCompanionActions<cr>', { noremap = true, silent = true, desc = "CC Action" })
vim.keymap.set({ 'n' }, '<leader>rce', '<cmd>CodeCompanion Explain<cr>', { desc = "CC Explain" }) vim.keymap.set({'n'}, '<leader>mce', '<cmd>CodeCompanion Explain<cr>', { desc = "CC Explain" })
vim.keymap.set({ 'n' }, '<leader>rcf', '<cmd>CodeCompanion Fix code<cr>', { desc = "CC fix" }) vim.keymap.set({'n'}, '<leader>mcf', '<cmd>CodeCompanion Fix code<cr>', { desc = "CC fix" })
vim.keymap.set({ 'v' }, '<leader>rcc', '<cmd>CodeCompanionChat Add<cr>', { noremap = true, silent = true, desc = "CC Add" }) vim.keymap.set({'v'}, '<leader>mcc', '<cmd>CodeCompanionChat Add<cr>', { noremap = true, silent = true, desc = "CC Add" })
vim.keymap.set({ 'v' }, '<leader>rcr', '<cmd>CodeCompanion Code Review<cr>', { desc = 'Code Review' }) vim.keymap.set({'v'}, '<leader>mcr', '<cmd>CodeCompanion Code Review<cr>', { desc = 'Code Review' })
vim.keymap.set({ 'v' }, '<leader>rco', '<cmd>CodeCompanion Optimize Performance<cr>', { desc = 'Optimize Code' }) vim.keymap.set({'v'}, '<leader>mco', '<cmd>CodeCompanion Optimize Performance<cr>', { desc = 'Optimize Code' })
vim.keymap.set({ 'v' }, '<leader>rce', '<cmd>CodeCompanion Explain Code<cr>', { desc = 'Explain Code' }) vim.keymap.set({'v'}, '<leader>mce', '<cmd>CodeCompanion Explain Code<cr>', { desc = 'Explain Code' })
vim.keymap.set({ 'v' }, '<leader>rcg', '<cmd>CodeCompanion Generate Tests<cr>', { desc = 'Generate Tests' }) vim.keymap.set({'v'}, '<leader>mcg', '<cmd>CodeCompanion Generate Tests<cr>', { desc = 'Generate Tests' })
vim.keymap.set({ 'v' }, '<leader>rcd', '<cmd>CodeCompanion Debug Analysis<cr>', { desc = 'Debug Analysis' }) vim.keymap.set({'v'}, '<leader>mcd', '<cmd>CodeCompanion Debug Analysis<cr>', { desc = 'Debug Analysis' })
-- TODO: run this command -- TODO: run this command
-- build = "uv tool upgrade vectorcode", -- This helps keeping the CLI up-to-date -- build = "uv tool upgrade vectorcode", -- This helps keeping the CLI up-to-date
@@ -196,36 +196,36 @@ codecompanion.setup({
end, end,
codex = function() codex = function()
return require("codecompanion.adapters").extend("codex", { return require("codecompanion.adapters").extend("codex", {
commands = { -- commands = {
default = { "codex-acp" }, -- default = { "codex-acp" },
}, -- },
schema = { -- schema = {
model = { -- model = {
default = "github-copilot/gpt-5.2-codex", -- default = "github-copilot/gpt-5.2-codex",
}, -- },
}, -- },
defaults = {
timeout = 20000,
auth_method = "chatgpt", -- "openai-api-key"|"codex-api-key"|"chatgpt"
},
})
end,
opencode = function()
return require("codecompanion.adapters").extend("codex", {
commands = {
default = { "opencode", "acp" },
},
schema = {
model = {
default = "github-copilot/gpt-5.2-codex",
},
},
defaults = { defaults = {
timeout = 20000, timeout = 20000,
auth_method = "chatgpt", -- "openai-api-key"|"codex-api-key"|"chatgpt" auth_method = "chatgpt", -- "openai-api-key"|"codex-api-key"|"chatgpt"
}, },
}) })
end, end,
-- opencode = function()
-- return require("codecompanion.adapters").extend("codex", {
-- commands = {
-- default = { "opencode", "acp" },
-- },
-- schema = {
-- model = {
-- default = "github-copilot/gpt-5.2-codex",
-- },
-- },
-- defaults = {
-- timeout = 20000,
-- auth_method = "chatgpt", -- "openai-api-key"|"codex-api-key"|"chatgpt"
-- },
-- })
-- end,
}, },
}, },
rules = { rules = {
@@ -265,10 +265,10 @@ codecompanion.setup({
save_chat_keymap = "ghs", save_chat_keymap = "ghs",
picker = "snacks", picker = "snacks",
dir_to_save = vim.env.HOME .. "/Documents/ai-history", dir_to_save = vim.env.HOME .. "/Documents/ai-history",
title_generation_opts = { -- title_generation_opts = {
adapter = "copilot", -- adapter = "copilot",
model = "gpt-5-mini", -- model = "gpt-5-mini",
}, -- },
summary = { summary = {
create_summary_keymap = "ghc", create_summary_keymap = "ghc",
browse_summaries_keymap = "ghb", browse_summaries_keymap = "ghb",
@@ -298,20 +298,25 @@ codecompanion.setup({
}, },
tools = { tools = {
opts = { opts = {
auto_submit_errors = true, -- Send any errors to the LLM automatically? auto_submit_errors = false, -- Send any errors to the LLM automatically?
auto_submit_success = true, -- Send any successful output to the LLM automatically? auto_submit_success = false, -- Send any successful output to the LLM automatically?
system_prompt = { system_prompt = {
enabled = true, enabled = true,
replace_main_system_prompt = false, replace_main_system_prompt = false,
}, },
default_tools = { default_tools = {
"ask_questions",
"file_search", "file_search",
"read_file", "read_file",
"cmd_runner", "cmd_runner",
"fetch",
"grep_search",
"memory",
-- "ddgr_search", -- "ddgr_search",
}, },
}, },
["fetch_enhanced"] = { ["fetch_enhanced"] = {
description = "Fetch a data from the web",
callback = function(url, options) callback = function(url, options)
options = options or {} options = options or {}
local max_length = options.max_length or 200000 -- 200KB default local max_length = options.max_length or 200000 -- 200KB default
@@ -413,6 +418,7 @@ codecompanion.setup({
description = "Planning my project and codes with enhanced web access", description = "Planning my project and codes with enhanced web access",
prompt = "Using all the ${tools} at your disposal including enhanced web fetching. Analyze the codes and use it to help me with my query. You have access to unlimited web content fetching.", prompt = "Using all the ${tools} at your disposal including enhanced web fetching. Analyze the codes and use it to help me with my query. You have access to unlimited web content fetching.",
tools = { tools = {
"ask_questions",
"fetch", -- Backup unlimited fetch "fetch", -- Backup unlimited fetch
"file_search", "file_search",
"grep_search", "grep_search",
@@ -436,6 +442,7 @@ codecompanion.setup({
description = "Deep research with unlimited web access", description = "Deep research with unlimited web access",
prompt = "You are a research assistant with unlimited web access. Using the ${tools} fetch and analyze large documents, research papers, and comprehensive web content.", prompt = "You are a research assistant with unlimited web access. Using the ${tools} fetch and analyze large documents, research papers, and comprehensive web content.",
tools = { tools = {
"ask_questions",
"fetch", "fetch",
"fetch_enhanced", "fetch_enhanced",
"file_search", "file_search",
@@ -450,14 +457,7 @@ codecompanion.setup({
description = "Full-stack development with all necessary tools", description = "Full-stack development with all necessary tools",
prompt = "You are an expert full-stack developer. Use ${tools} to understand, modify, and test code. Always gather context before making changes.", prompt = "You are an expert full-stack developer. Use ${tools} to understand, modify, and test code. Always gather context before making changes.",
tools = { tools = {
"file_search", "agents",
"grep_search",
"fetch",
"list_code_usages",
"read_file",
"insert_edit_into_file",
"cmd_runner",
"next_edit_suggestion",
}, },
opts = { opts = {
collapse_tools = true, collapse_tools = true,
@@ -619,7 +619,7 @@ codecompanion.setup({
role = "user", role = "user",
content = function(context) content = function(context)
local code = require("codecompanion.helpers.actions").get_code(context.start_line, context.end_line) local code = require("codecompanion.helpers.actions").get_code(context.start_line, context.end_line)
return fmt( return string.format(
[[Help me debug this code from buffer %d and identify potential issues: [[Help me debug this code from buffer %d and identify potential issues:
```%s ```%s
@@ -635,7 +635,7 @@ codecompanion.setup({
} }
}, },
}, },
cc_keyword = { "bug", "debug", "error", "exception", "crash", "stacktrace", "broken", "issue" }, cc_keywords = { "bug", "debug", "error", "exception", "crash", "stacktrace", "broken", "issue" },
}, },
["Architecture Review"] = { ["Architecture Review"] = {
interaction = "chat", interaction = "chat",
+10 -10
View File
@@ -1,5 +1,5 @@
vim.keymap.set({ 'n' }, '<leader>uG', "Gitsigns toggle_signs", { desc = 'Gitsigns toggle' }) vim.keymap.set({ 'n' }, '<leader>ug', "Gitsigns toggle_signs", { desc = 'Gitsigns toggle' })
require('gitsigns').setup({ require('gitsigns').setup({
auto_attach = true, auto_attach = true,
@@ -31,15 +31,15 @@ require('gitsigns').setup({
map('n', '[v', function() gitsigns.nav_hunk 'prev' end, { desc = 'git previous hunk' }) map('n', '[v', function() gitsigns.nav_hunk 'prev' end, { desc = 'git previous hunk' })
map('n', ']v', function() gitsigns.nav_hunk 'next' end, { desc = 'git next hunk' }) map('n', ']v', function() gitsigns.nav_hunk 'next' end, { desc = 'git next hunk' })
map('n', '<leader>vs', gitsigns.stage_hunk, { desc = 'git stage hunk' }) map('n', '<leader>vgs', gitsigns.stage_hunk, { desc = 'git stage hunk' })
map('n', '<leader>vr', gitsigns.reset_hunk, { desc = 'git reset hunk' }) map('n', '<leader>vgr', gitsigns.reset_hunk, { desc = 'git reset hunk' })
map('n', '<leader>vS', gitsigns.stage_buffer, { desc = 'git stage buffer' }) map('n', '<leader>vgS', gitsigns.stage_buffer, { desc = 'git stage buffer' })
map('n', '<leader>vu', gitsigns.undo_stage_hunk, { desc = 'git undo stage hunk' }) map('n', '<leader>vgu', gitsigns.undo_stage_hunk, { desc = 'git undo stage hunk' })
map('n', '<leader>vR', gitsigns.reset_buffer, { desc = 'git reset buffer' }) map('n', '<leader>vgR', gitsigns.reset_buffer, { desc = 'git reset buffer' })
map('n', '<leader>vP', gitsigns.preview_hunk, { desc = 'git preview hunk' }) map('n', '<leader>vgP', gitsigns.preview_hunk, { desc = 'git preview hunk' })
map('n', '<leader>vb', gitsigns.blame_line, { desc = 'git blame line' }) map('n', '<leader>vgb', gitsigns.blame_line, { desc = 'git blame line' })
map('n', '<leader>vP', gitsigns.diffthis, { desc = 'git diff against index' }) map('n', '<leader>vgP', gitsigns.diffthis, { desc = 'git diff against index' })
map('n', '<leader>vD', function() map('n', '<leader>vgD', function()
gitsigns.diffthis '@' gitsigns.diffthis '@'
end, { desc = 'git [D]iff against last commit' }) end, { desc = 'git [D]iff against last commit' })
-- Toggles -- Toggles
+25 -23
View File
@@ -2,33 +2,33 @@
local cmd = require("jj.cmd") local cmd = require("jj.cmd")
local annotate = require("jj.annotate") local annotate = require("jj.annotate")
vim.keymap.set("n", "<leader>va", annotate.file, { desc = "JJ annotate file" }) vim.keymap.set("n", "<leader>vja", annotate.file, { desc = "JJ annotate file" })
vim.keymap.set("n", "<leader>vA", annotate.line, { desc = "JJ annotate line" }) vim.keymap.set("n", "<leader>vjA", annotate.line, { desc = "JJ annotate line" })
vim.keymap.set("n", "<leader>vbc", cmd.bookmark_create, { desc = "JJ bookmark create" }) vim.keymap.set("n", "<leader>vjbc", cmd.bookmark_create, { desc = "JJ bookmark create" })
vim.keymap.set("n", "<leader>vbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" }) vim.keymap.set("n", "<leader>vjbd", cmd.bookmark_delete, { desc = "JJ bookmark delete" })
vim.keymap.set("n", "<leader>vbm", cmd.bookmark_move, { desc = "JJ bookmark move" }) vim.keymap.set("n", "<leader>vjbm", cmd.bookmark_move, { desc = "JJ bookmark move" })
vim.keymap.set("n", "<leader>vd", cmd.describe, { desc = "JJ describe" }) vim.keymap.set("n", "<leader>vjd", cmd.describe, { desc = "JJ describe" })
vim.keymap.set("n", "<leader>vl", cmd.log, { desc = "JJ log" }) vim.keymap.set("n", "<leader>vjl", cmd.log, { desc = "JJ log" })
vim.keymap.set("n", "<leader>ve", cmd.edit, { desc = "JJ edit" }) vim.keymap.set("n", "<leader>vje", cmd.edit, { desc = "JJ edit" })
vim.keymap.set("n", "<leader>vn", cmd.new, { desc = "JJ new" }) vim.keymap.set("n", "<leader>vjn", cmd.new, { desc = "JJ new" })
vim.keymap.set("n", "<leader>vs", cmd.status, { desc = "JJ status" }) --vim.keymap.set("n", "<leader>vjs", cmd.status, { desc = "JJ status" })
vim.keymap.set("n", "<leader>vS", cmd.squash, { desc = "JJ squash" }) vim.keymap.set("n", "<leader>vjS", cmd.squash, { desc = "JJ squash" })
vim.keymap.set("n", "<leader>vju", cmd.undo, { desc = "JJ undo" }) vim.keymap.set("n", "<leader>vjju", cmd.undo, { desc = "JJ undo" })
vim.keymap.set("n", "<leader>vjr", cmd.redo, { desc = "JJ redo" }) vim.keymap.set("n", "<leader>vjr", cmd.rebase, { desc = "JJ rebase" })
vim.keymap.set("n", "<leader>vr", cmd.rebase, { desc = "JJ rebase" }) vim.keymap.set("n", "<leader>vjR", cmd.redo, { desc = "JJ redo" })
vim.keymap.set("n", "<leader>vf", cmd.fetch, { desc = "JJ fetch" }) vim.keymap.set("n", "<leader>vjf", cmd.fetch, { desc = "JJ fetch" })
vim.keymap.set("n", "<leader>vx", cmd.abandon, { desc = "JJ abandon" }) vim.keymap.set("n", "<leader>vjx", cmd.abandon, { desc = "JJ abandon" })
vim.keymap.set("n", "<leader>vp", cmd.push, { desc = "JJ push" }) vim.keymap.set("n", "<leader>vjpp", cmd.push, { desc = "JJ push" })
vim.keymap.set("n", "<leader>vpr", cmd.open_pr, { desc = "JJ open PR from bookmark in current revision or parent" }) vim.keymap.set("n", "<leader>vjpr", cmd.open_pr, { desc = "JJ open PR from bookmark in current revision or parent" })
vim.keymap.set("n", "<leader>vpl", function() vim.keymap.set("n", "<leader>vjpl", function()
cmd.open_pr { list_bookmarks = true } cmd.open_pr { list_bookmarks = true }
end, { desc = "JJ open PR listing available bookmarks" }) end, { desc = "JJ open PR listing available bookmarks" })
-- Diff commands -- Diff commands
local diff = require("jj.diff") local diff = require("jj.diff")
vim.keymap.set("n", "<leader>vjd", function() diff.open_vdiff() end, { desc = "JJ diff current buffer" }) vim.keymap.set("n", "<leader>vjdv", function() diff.open_vdiff() end, { desc = "JJ diff current buffer" })
vim.keymap.set("n", "<leader>vjD", function() diff.open_hsplit() end, { desc = "JJ hdiff current buffer" }) vim.keymap.set("n", "<leader>vjdh", function() diff.open_hsplit() end, { desc = "JJ hdiff current buffer" })
-- Pickers -- Pickers
local picker = require("jj.picker") local picker = require("jj.picker")
@@ -36,7 +36,7 @@ vim.keymap.set("n", "<leader>vjs", function() picker.status() end, { desc = "JJ
vim.keymap.set("n", "<leader>vjh", function() picker.file_history() end, { desc = "JJ Picker history" }) vim.keymap.set("n", "<leader>vjh", function() picker.file_history() end, { desc = "JJ Picker history" })
-- Some functions like `log` can take parameters -- Some functions like `log` can take parameters
vim.keymap.set("n", "<leader>vL", function() vim.keymap.set("n", "<leader>vjL", function()
cmd.log { cmd.log {
revisions = "all()", -- equivalent to jj log -r :: revisions = "all()", -- equivalent to jj log -r ::
} }
@@ -44,7 +44,7 @@ end, { desc = "JJ log all" })
-- This is an alias i use for moving bookmarks its so good -- This is an alias i use for moving bookmarks its so good
vim.keymap.set("n", "<leader>vt", function() vim.keymap.set("n", "<leader>vjt", function()
cmd.j "tug" cmd.j "tug"
cmd.log {} cmd.log {}
end, { desc = "JJ tug" }) end, { desc = "JJ tug" })
@@ -74,3 +74,5 @@ require('jjsigns').setup({
auto = false, auto = false,
} }
}) })
vim.keymap.set("n", "<leader>uJ", function() require('jjsigns').toggle() end, { desc = "Toggle JJ signs" })
+12 -1
View File
@@ -164,7 +164,18 @@ local servers = {
-- }, -- },
-- }, -- },
-- }, -- },
}, },
omnisharp = {
settings = {
["omnisharp"] = {
useModernNet = true,
organizeImportsOnFormat = true,
enableImportCompletion = true,
cmd = { "omnisharp" },
root_dir = require("lspconfig.util").root_pattern("*.sln", "*.csproj", ".git"),
}
}
},
} }
local ensure_installed = vim.tbl_keys(servers or {}) local ensure_installed = vim.tbl_keys(servers or {})
+2 -6
View File
@@ -64,14 +64,10 @@ require('mini.hipatterns').setup({
}, },
}) })
vim.keymap.set('n', "-", function() require("mini.files").open(vim.api.nvim_buf_get_name(0)) end, { desc = "Open parent directory" }) vim.keymap.set('n', "<leader>q", function() require("mini.files").open(vim.api.nvim_buf_get_name(0)) end, { desc = "Open parent directory" })
vim.keymap.set('n', "<leader>-", function() require("mini.files").open() end, { desc = "File Explore" }) vim.keymap.set('n', "<leader>Q", function() require("mini.files").open() end, { desc = "File Explore" })
require('mini.files').setup({ require('mini.files').setup({
mappings = { mappings = {
go_in = "<CR>", -- Map both Enter and L to enter directories or open files
go_in_plus = "L",
go_out = "-",
go_out_plus = "H",
close = "<Esc>", close = "<Esc>",
}, },
}) })
+2 -2
View File
@@ -1,2 +1,2 @@
vim.keymap.set('v', '<leader>te', function() require('ansible').run() end, { buffer = true, silent = true }) vim.keymap.set('v', '<leader>xa', function() require('ansible').run() end, { buffer = true, silent = true, desc = 'execute via ansible' })
vim.keymap.set('n', '<leader>te', ":w<CR> :lua require('ansible').run()<CR>", { buffer = true, silent = true }) vim.keymap.set('n', '<leader>xa', ":w<CR> :lua require('ansible').run()<CR>", { buffer = true, silent = true, desc = 'execute via ansible' })
+17 -18
View File
@@ -41,22 +41,22 @@ require('snacks').setup({
end) end)
end end
end, end,
term_normal = { -- term_normal = {
"<esc><esc>", -- "<esc><esc>",
function(self) -- function(self)
self.esc_timer = self.esc_timer or (vim.uv or vim.loop).new_timer() -- self.esc_timer = self.esc_timer or (vim.uv or vim.loop).new_timer()
if self.esc_timer:is_active() then -- if self.esc_timer:is_active() then
self.esc_timer:stop() -- self.esc_timer:stop()
vim.cmd("stopinsert") -- vim.cmd("stopinsert")
else -- else
self.esc_timer:start(250, 0, function() end) -- self.esc_timer:start(250, 0, function() end)
return "<esc>" -- return "<esc>"
end -- end
end, -- end,
mode = "t", -- mode = "t",
expr = true, -- expr = true,
desc = "Double escape to normal mode", -- desc = "Double escape to normal mode",
}, -- },
}, },
}, },
indent = { enabled = false }, indent = { enabled = false },
@@ -207,7 +207,7 @@ vim.keymap.set('n', "<leader>sk", function() Snacks.picker.keymaps() end, { desc
vim.keymap.set('n', "<leader>sl", function() Snacks.picker.loclist() end, { desc = "Location List" }) vim.keymap.set('n', "<leader>sl", function() Snacks.picker.loclist() end, { desc = "Location List" })
vim.keymap.set('n', "<leader>sm", function() Snacks.picker.marks() end, { desc = "Marks" }) vim.keymap.set('n', "<leader>sm", function() Snacks.picker.marks() end, { desc = "Marks" })
vim.keymap.set('n', "<leader>sM", function() Snacks.picker.man() end, { desc = "Man Pages" }) vim.keymap.set('n', "<leader>sM", function() Snacks.picker.man() end, { desc = "Man Pages" })
vim.keymap.set('n', "<leader>sp", function() Snacks.picker.lazy() end, { desc = "Search for Plugin Spec" }) -- vim.keymap.set('n', "<leader>sp", function() Snacks.picker.lazy() end, { desc = "Search for Plugin Spec" })
vim.keymap.set('n', "<leader>sq", function() Snacks.picker.qflist() end, { desc = "Quickfix List" }) vim.keymap.set('n', "<leader>sq", function() Snacks.picker.qflist() end, { desc = "Quickfix List" })
vim.keymap.set('n', "<leader>sR", function() Snacks.picker.resume() end, { desc = "Resume" }) vim.keymap.set('n', "<leader>sR", function() Snacks.picker.resume() end, { desc = "Resume" })
vim.keymap.set('n', "<leader>su", function() Snacks.picker.undo() end, { desc = "Undo History" }) vim.keymap.set('n', "<leader>su", function() Snacks.picker.undo() end, { desc = "Undo History" })
@@ -253,7 +253,6 @@ end,
{ desc = "Neovim News" }) { desc = "Neovim News" })
vim.api.nvim_create_autocmd("User", { vim.api.nvim_create_autocmd("User", {
pattern = "VeryLazy",
callback = function() callback = function()
-- Setup some globals for debugging (lazy-loaded) -- Setup some globals for debugging (lazy-loaded)
_G.dd = function(...) _G.dd = function(...)
+3 -2
View File
@@ -1,13 +1,14 @@
require("toggleterm").setup({ require("toggleterm").setup({
-- highlights = require("rose-pine.plugins.toggleterm"), -- highlights = require("rose-pine.plugins.toggleterm"),
size = 20, size = 20,
open_mapping = [[<c-\>]], open_mapping = [[<c-/>]],
hide_numbers = true, hide_numbers = true,
shade_terminals = true, shade_terminals = true,
shading_factor = 2, shading_factor = 2,
start_in_insert = true, start_in_insert = true,
insert_mappings = true, insert_mappings = true,
persiste_size = true, persiste_size = true,
shell = vim.env.SHELL,
direction = 'horizontal', direction = 'horizontal',
close_on_exit = true, close_on_exit = true,
float_opts = { float_opts = {
@@ -15,4 +16,4 @@ require("toggleterm").setup({
} }
}) })
vim.keymap.set('t', "<Esc><Esc>", "<c-\\><c-n>", { desc = "Escape input" }) vim.keymap.set('t', "<esc><esc>", "<c-\\><c-n>", { desc = "Escape input" })
+31 -15
View File
@@ -1,9 +1,3 @@
vim.keymap.set({'n'}, '<leader>gn', '<cmd>Neogit kind=auto<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>gN', '<cmd>Neogit kind=floating<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>xm', '<cmd>Lazy reload mise.nvim<cr>', { desc = "Reload mise environment" })
vim.keymap.set({'n'}, '<leader>kp', '<cmd>PasteImage<cr>', { desc = "Paste image from system clipboard" })
vim.keymap.set({ 'n' }, '<leader>uu', vim.cmd.UndotreeToggle, { desc = 'Format buffer' })
require('kulala').setup() require('kulala').setup()
require("just").setup({ require("just").setup({
@@ -20,9 +14,11 @@ require('sshfs').setup({
mounts = { mounts = {
base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created base_dir = vim.fn.expand("$HOME") .. "/Public", -- where remote mounts are created
}, },
lead_prefix = "<leader>r",
-- Refer to the configuration section below -- Refer to the configuration section below
-- or leave empty for defaults -- or leave empty for defaults
}) })
require('mise').setup({ require('mise').setup({
unset_vars = true, unset_vars = true,
load_on_setup = true, load_on_setup = true,
@@ -45,18 +41,19 @@ require('neogit').setup({
recent = { folded = false }, recent = { folded = false },
}, },
}) })
require('zincoxide').setup({ require('zincoxide').setup({
zincoxide_cmd = "zoxide", zincoxide_cmd = "zoxide",
complete = true, complete = true,
behaviour = "tabs", behaviour = "tabs",
}) })
require('trouble').setup({
defaults = {
vim.keymap.set('n', "<leader>xo", "<cmd>OverseerOpen<CR>", { desc = "Open Overseer" }) auto_close = true,
vim.keymap.set('n', "<leader>to", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" }) auto_open = true,
vim.keymap.set('n', "<F5>", "<cmd>OverseerRun<CR>", { desc = "Run Overseer" }) },
vim.keymap.set('n', "<F6>", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" }) })
require("overseer").setup({ require("overseer").setup({
templates = { "builtin", "user" }, templates = { "builtin", "user" },
@@ -65,14 +62,14 @@ require("overseer").setup({
{ 'display_duration', detail_level = 2 }, { 'display_duration', detail_level = 2 },
'on_output_summarize', 'on_output_summarize',
'on_exit_set_status', 'on_exit_set_status',
'on_result_diagnostics_quickfix',
'on_complete_notify', 'on_complete_notify',
{ "on_complete_dispose", require_view = { "SUCCESS", "FAILURE" } }, 'on_result_diagnostics',
{'on_result_diagnostics_quickfix', open = true, close = true},
}, },
default_vscode = { default_vscode = {
'default', 'default',
'on_result_diagnostics', 'on_result_diagnostics',
'on_result_diagnostics_quickfix', {'on_result_diagnostics_quickfix', open = true, close = true},
'on_complete_notify', 'on_complete_notify',
}, },
} }
@@ -232,3 +229,22 @@ require("cmake-tools").setup {
}, },
cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner) cmake_virtual_text_support = true, -- Show the target related to current file using virtual text (at right corner)
} }
vim.keymap.set({'n'}, '<leader>vn', '<cmd>Neogit kind=auto<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>vN', '<cmd>Neogit kind=floating<cr>', { desc = 'Neogit' })
vim.keymap.set({'n'}, '<leader>kp', '<cmd>PasteImage<cr>', { desc = "Paste image from system clipboard" })
vim.keymap.set({'n'}, '<leader>xM', '<cmd>Lazy reload mise.nvim<cr>', { desc = "Reload mise environment" })
vim.keymap.set({'n'}, '<leader>uu', vim.cmd.UndotreeToggle, { desc = 'Undo Tree toggle' })
vim.keymap.set('n', "<leader>cx", "<cmd>Trouble diagnostics toggle<cr>", { desc = "Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", { desc = "Buffer Diagnostics (Trouble)" })
vim.keymap.set('n', "<leader>cs", "<cmd>Trouble symbols toggle focus=false<cr>", { desc = "Symbols (Trouble)" })
vim.keymap.set('n', "<leader>cl", "<cmd>Trouble lsp toggle focus=false win.position=right<cr>", { desc = "LSP Definitions / references / ... (Trouble)" })
vim.keymap.set('n', "<leader>cL", "<cmd>Trouble loclist toggle<cr>", { desc = "Location List (Trouble)" })
vim.keymap.set('n', "<leader>cQ", "<cmd>Trouble qflist toggle<cr>", { desc = "Quickfix List (Trouble)" })
vim.keymap.set('n', "<leader>uo", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
vim.keymap.set('n', "<F5>", "<cmd>OverseerRun<CR>", { desc = "Run Overseer" })
vim.keymap.set('n', "<F6>", "<cmd>OverseerToggle<CR>", { desc = "Overseer Toggle" })
+2 -2
View File
@@ -45,9 +45,9 @@ require('which-key').setup({
{ "<leader>g", group = "+goto" }, { "<leader>g", group = "+goto" },
{ "<leader>k", group = "+obsidian" }, { "<leader>k", group = "+obsidian" },
{ "<leader>l", group = "+lsp" }, { "<leader>l", group = "+lsp" },
{ "<leader>m", group = "+bookmark" }, { "<leader>m", group = "+ai" },
{ "<leader>o", group = "+notes" }, { "<leader>o", group = "+notes" },
{ "<leader>r", group = "+ai" }, { "<leader>r", group = "+remote" },
{ "<leader>s", group = "+search" }, { "<leader>s", group = "+search" },
{ "<leader>t", group = "+trouble" }, { "<leader>t", group = "+trouble" },
{ "<leader>v", group = "+vcs", mode = { 'n', 'v' } }, { "<leader>v", group = "+vcs", mode = { 'n', 'v' } },