nvim/lua/plugins/codecompanion.lua

97 lines
2.3 KiB
Lua
Raw Normal View History

return {
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"j-hui/fidget.nvim",
},
opts = {
2025-02-16 13:39:54 -08:00
adapters = {
copilot = function()
return require("codecompanion.adapters").extend("copilot", {
schema = {
model = {
2025-02-19 02:24:24 -08:00
default = "claude-3.5-sonnet",
-- default = "o3-mini-2025-01-31",
2025-02-16 13:39:54 -08:00
choices = {
["o3-mini-2025-01-31"] = { opts = { can_reason = true } },
["o1-2024-12-17"] = { opts = { can_reason = true } },
["o1-mini-2024-09-12"] = { opts = { can_reason = true } },
"claude-3.5-sonnet",
"gpt-4o-2024-08-06",
"gemini-2.0-flash-001",
},
},
2025-02-19 02:24:24 -08:00
max_tokens = {
default = 65536,
},
2025-02-16 13:39:54 -08:00
},
})
end,
},
strategies = {
chat = {
adapter = "copilot",
2025-02-19 02:24:24 -08:00
roles = {
llm = " Assistant",
user = " User",
},
slash_commands = {
["file"] = {
opts = {
provider = "telescope",
},
},
["symbols"] = {
opts = {
provider = "telescope",
},
},
["buffer"] = {
opts = {
provider = "telescope",
},
},
["terminal"] = {
opts = {
provider = "telescope",
},
},
},
},
inline = {
adapter = "copilot",
},
},
display = {
action_palette = {
2025-02-16 13:39:54 -08:00
provider = "telescope",
width = 75,
heigth = 45,
},
chat = {
layout = "vertical",
border = "single",
2025-02-16 13:39:54 -08:00
intro_message = "Welcome to CodeCompanion ✨! Press ? for options",
show_header_separator = false, -- Show header separators in the chat buffer? Set this to false if you're using an external markdown formatting plugin
separator = "", -- The separator between the different messages in the chat buffer
show_references = true, -- Show references (from slash commands and variables) in the chat buffer?
show_settings = true, -- Show LLM settings at the top of the chat buffer?
show_token_count = true, -- Show the token count for each response?
start_in_insert_mode = false, -- Open the chat buffer in insert mode?
},
diff = {
enabled = true,
provider = "mini_diff",
},
},
2025-02-19 02:24:24 -08:00
opts = {
-- log_level = "DEBUG",
log_level = "TRACE",
},
},
init = function()
require("plugins.codecompanion.fidget-spinner"):init()
end,
}