From d82b37376ec7cc5c0863841d93bca20e0f4af9ac Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 14 Jan 2026 21:22:00 +0800 Subject: [PATCH] update --- .../nvim/lua/plugins/codecompanion.lua | 83 +++++++++++++++++++ home/dot_config/nvim/lua/plugins/lsp.lua | 11 +++ 2 files changed, 94 insertions(+) create mode 100644 home/dot_config/nvim/lua/plugins/codecompanion.lua diff --git a/home/dot_config/nvim/lua/plugins/codecompanion.lua b/home/dot_config/nvim/lua/plugins/codecompanion.lua new file mode 100644 index 0000000..eea628f --- /dev/null +++ b/home/dot_config/nvim/lua/plugins/codecompanion.lua @@ -0,0 +1,83 @@ +return { + "olimorris/codecompanion.nvim", + opts = {}, + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-treesitter/nvim-treesitter", + { + "MeanderingProgrammer/render-markdown.nvim", + ft = { "markdown", "codecompanion" } + }, + { + "echasnovski/mini.diff", + config = function() + local diff = require("mini.diff") + diff.setup({ + -- Disabled by default + source = diff.gen_source.none(), + }) + end, + }, + { + "HakonHarnes/img-clip.nvim", + opts = { + filetypes = { + codecompanion = { + prompt_for_file_name = false, + template = "[Image]($FILE_PATH)", + use_absolute_path = true, + }, + }, + }, + }, + "ravitemer/mcphub.nvim" + }, + config = function () + local codecompanion = require("codecompanion") + codecompanion.setup({ + ignore_warnings = true, + display = { + action_palette = { + width = 95, + height = 10, + prompt = "Prompt ", + provider = "default", + opts = { + show_default_actions = true, + show_default_prompt_library = true, + title = "CodeCompanion actions", + }, + }, + }, + memory = { + opts = { + chat = { enabled = true, }, + }, + }, + adapters = { + http = { + copilot = function() + return require('codecompanion.adapters').extend('copilot', { + schema = { + model = { + -- default = 'claude-sonnet-4.5', + default = 'claude-haiku-4.5', + }, + }, + }) + end, + } + }, + extensions = { + mcphub = { + callback = "mcphub.extensions.codecompanion", + opts = { + make_vars = true, + make_slash_commands = true, + show_result_in_chat = true + } + } + } + }) + end, +} diff --git a/home/dot_config/nvim/lua/plugins/lsp.lua b/home/dot_config/nvim/lua/plugins/lsp.lua index 2df8356..4661b13 100644 --- a/home/dot_config/nvim/lua/plugins/lsp.lua +++ b/home/dot_config/nvim/lua/plugins/lsp.lua @@ -24,6 +24,7 @@ return { -- buf_set_keymap('n', 'gD', 'lua vim.lsp.buf.declaration()', opts) buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) buf_set_keymap('n', 'gt', 'tab splitlua vim.lsp.buf.definition()', opts) + buf_set_keymap('n', 'gv', 'vsplitlua vim.lsp.buf.definition()', opts) buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) buf_set_keymap('n', '', 'lua vim.lsp.buf.signature_help()', opts) @@ -75,6 +76,14 @@ return { capabilities = capabilities, on_attach = on_attach, }) + vim.lsp.config('clangd', { + capabilities = capabilities, + on_attach = on_attach, + }) + vim.lsp.config('pyright', { + capabilities = capabilities, + on_attach = on_attach, + }) vim.lsp.enable('gopls') vim.lsp.enable('ts_ls') @@ -84,6 +93,8 @@ return { vim.lsp.enable('pylsp') vim.lsp.enable('zls') vim.lsp.enable('lua_ls') + vim.lsp.enable('clangd') + vim.lsp.enable('pyright') end }