dotfiles/home/dot_config/nvim/lua/plugins/codecompanion.lua
2026-01-14 21:22:00 +08:00

84 lines
2.0 KiB
Lua

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,
}