53 lines
1.6 KiB
Lua
53 lines
1.6 KiB
Lua
local prefix = "<leader>a"
|
|
local user = vim.env.USER or "User"
|
|
|
|
return {
|
|
{
|
|
"olimorris/codecompanion.nvim",
|
|
cmd = { "CodeCompanion", "CodeCompanionActions", "CodeCompanionToggle", "CodeCompanionAdd", "CodeCompanionChat" },
|
|
opts = {
|
|
strategies = {
|
|
chat = {
|
|
adapter = "ollama",
|
|
roles = {
|
|
llm = " CodeCompanion",
|
|
user = " " .. user:sub(1, 1):upper() .. user:sub(2),
|
|
},
|
|
keymaps = {
|
|
close = { modes = { n = "q", i = "<C-c>" } },
|
|
stop = { modes = { n = "<C-c>" } },
|
|
},
|
|
},
|
|
inline = { adapter = { adapter = "ollama" } },
|
|
agent = { adapter = { adapter = "ollama" } },
|
|
},
|
|
},
|
|
keys = {
|
|
{ prefix .. "a", "<cmd>CodeCompanionActions<cr>", mode = { "n", "v" }, desc = "Action Palette" },
|
|
{ prefix .. "c", "<cmd>CodeCompanionChat<cr>", mode = { "n", "v" }, desc = "New Chat" },
|
|
{ prefix .. "A", "<cmd>CodeCompanionAdd<cr>", mode = "v", desc = "Add Code" },
|
|
{ prefix .. "i", "<cmd>CodeCompanion<cr>", mode = "n", desc = "Inline Prompt" },
|
|
{ prefix .. "C", "<cmd>CodeCompanionToggle<cr>", mode = "n", desc = "Toggle Chat" },
|
|
},
|
|
},
|
|
{
|
|
"folke/which-key.nvim",
|
|
opts = {
|
|
spec = {
|
|
{ prefix, group = "ai", icon = " " },
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"folke/edgy.nvim",
|
|
optional = true,
|
|
opts = function(_, opts)
|
|
opts.right = opts.right or {}
|
|
table.insert(opts.right, {
|
|
ft = "codecompanion",
|
|
title = "CodeCompanion",
|
|
size = { width = 70 },
|
|
})
|
|
end,
|
|
},
|
|
}
|