feat: Add plugin olimorris/codecompanion.nvim

This commit is contained in:
2025-07-04 00:30:50 +02:00
parent 43037df9e1
commit 4e5dc8d898

View File

@ -0,0 +1,62 @@
local prefix = "<Leader>A"
---@type LazySpec
return {
{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
{
"AstroNvim/astrocore",
---@param opts AstroCoreOpts
opts = function(_, opts)
if not opts.mappings then opts.mappings = {} end
opts.mappings.n[prefix] = { desc = require("astroui").get_icon("CodeCompanion", 1, true) .. "CodeCompanion" }
opts.mappings.v[prefix] = { desc = require("astroui").get_icon("CodeCompanion", 1, true) .. "CodeCompanion" }
opts.mappings.n[prefix .. "c"] = { "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat" }
opts.mappings.v[prefix .. "c"] = { "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat" }
opts.mappings.n[prefix .. "p"] = { "<cmd>CodeCompanionActions<cr>", desc = "Open action palette" }
opts.mappings.v[prefix .. "p"] = { "<cmd>CodeCompanionActions<cr>", desc = "Open action palette" }
opts.mappings.n[prefix .. "q"] = { "<cmd>CodeCompanion<cr>", desc = "Open inline assistant" }
opts.mappings.v[prefix .. "q"] = { "<cmd>CodeCompanion<cr>", desc = "Open inline assistant" }
opts.mappings.v[prefix .. "a"] = { "<cmd>CodeCompanionChat Add<cr>", desc = "Add selection to chat" }
-- Expand cc to CodeCompanion in cmdline mode
vim.cmd [[cab cc CodeCompanion]]
end,
},
{ "AstroNvim/astroui", opts = { icons = { CodeCompanion = "󱙺" } } },
},
event = "User AstroFile",
cmd = {
"CodeCompanion",
"CodeCompanionActions",
"CodeCompanionChat",
"CodeCompanionCmd",
},
opts = {
strategies = {
chat = {
adapter = "mistral",
},
inline = {
adapter = "mistral",
},
},
},
},
{
"MeanderingProgrammer/render-markdown.nvim",
optional = true,
opts = function(_, opts)
if not opts.file_types then opts.file_types = { "markdown" } end
opts.file_types = require("astrocore").list_insert_unique(opts.file_types, { "codecompanion" })
end,
},
}