companion config

This commit is contained in:
m3tam3re 2024-10-14 13:39:31 +02:00
parent 3f8c7459a1
commit c5f91f63f1
2 changed files with 245 additions and 218 deletions

View File

@ -282,22 +282,22 @@ require('lazy').setup({
require('which-key').setup() require('which-key').setup()
-- Document existing key chains -- Document existing key chains
require('which-key').register require('which-key').add
{ {
{ "<leader>c", group = "[C]ode" }, { "", group = "[C]ode" },
{ "<leader>c_", hidden = true }, { "", group = "[S]earch" },
{ "<leader>d", group = "[D]ocument" }, { "", desc = "<leader>r_", hidden = true },
{ "<leader>d_", hidden = true }, { "", desc = "<leader>s_", hidden = true },
{ "<leader>l", group = "[L]LM assistants" }, { "", desc = "<leader>t_", hidden = true },
{ "<leader>l_", hidden = true }, { "", group = "[T]oggle" },
{ "<leader>r", group = "[R]ename" }, { "", group = "[W]orkspace" },
{ "<leader>r_", hidden = true }, { "", group = "[R]ename" },
{ "<leader>s", group = "[S]earch" }, { "", group = "[L]LM assistants" },
{ "<leader>s_", hidden = true }, { "", desc = "<leader>c_", hidden = true },
{ "<leader>t", group = "[T]oggle" }, { "", desc = "<leader>l_", hidden = true },
{ "<leader>t_", hidden = true }, { "", group = "[D]ocument" },
{ "<leader>w", group = "[W]orkspace" }, { "", desc = "<leader>d_", hidden = true },
{ "<leader>w_", hidden = true }, { "", desc = "<leader>w_", hidden = true },
} }
end, end,
}, },
@ -852,9 +852,10 @@ require('lazy').setup({
-- setting the keybinding for LazyGit with 'keys' is recommended in -- setting the keybinding for LazyGit with 'keys' is recommended in
-- order to load the plugin when the command is run for the first time -- order to load the plugin when the command is run for the first time
keys = { keys = {
vim.keymap.set('n', '<leader>lg', '<cmd>LazyGit<cr>', { desc = 'LazyGit' }) vim.keymap.set('n', '<leader>g', '<cmd>LazyGit<cr>', { desc = 'LazyGit' })
} }
}, { },
{
"olimorris/codecompanion.nvim", "olimorris/codecompanion.nvim",
dependencies = { dependencies = {
"nvim-lua/plenary.nvim", "nvim-lua/plenary.nvim",
@ -863,8 +864,32 @@ require('lazy').setup({
"nvim-telescope/telescope.nvim", -- Optional: For using slash commands "nvim-telescope/telescope.nvim", -- Optional: For using slash commands
{ "stevearc/dressing.nvim", opts = {} }, -- Optional: Improves `vim.ui.select` { "stevearc/dressing.nvim", opts = {} }, -- Optional: Improves `vim.ui.select`
}, },
config = true config = function()
}, vim.keymap.set('n', '<leader>lc', vim.cmd.CodeCompanion, { desc = '[C]ode Companion' })
vim.keymap.set('n', '<leader>lca', '<cmd>CodeCompanionActions<CR>', { desc = 'ChatGPT [D]ocstring' })
vim.keymap.set('v', '<leader>lca', '<cmd>CodeCompanionActions<CR>', { desc = 'ChatGPT [D]ocstring' })
vim.keymap.set('n', '<leader>lct', '<cmd><cmd>CodeCompanionChat Toggle<CR>',
{ desc = 'ChatGPT [T]oggle Companion Chat' })
vim.keymap.set('v', '<leader>lct', '<cmd><cmd>CodeCompanionChat Toggle<CR>',
{ desc = 'ChatGPT [T]oggle Companion Chat' })
vim.keymap.set('n', '<leader>lca', '<cmd>CodeCompanionChat Add<CR>', { desc = '[A]dd Companion Chat' })
require("codecompanion").setup({
strategies = {
chat = {
adapter = "anthropic",
},
inline = {
adapter = "anthropic",
},
agent = {
adapter = "anthropic",
},
},
})
end,
},
{ {
'folke/noice.nvim', 'folke/noice.nvim',
event = 'VeryLazy', event = 'VeryLazy',
@ -905,7 +930,7 @@ require('lazy').setup({
}, },
}, },
require('which-key').register { require('which-key').add {
{ "", desc = "<leader>n_", hidden = true }, { "", desc = "<leader>n_", hidden = true },
{ "", group = "[N]oice" }, { "", group = "[N]oice" },
}, },

View File

@ -4,16 +4,18 @@ return {
'jackMort/ChatGPT.nvim', 'jackMort/ChatGPT.nvim',
event = 'VeryLazy', event = 'VeryLazy',
config = function() config = function()
vim.keymap.set('n', '<leader>lc', vim.cmd.ChatGPT, { desc = '[C]hatGPT' }) vim.keymap.set('n', '<leader>lg', vim.cmd.ChatGPT, { desc = 'Chat[G]PT' })
vim.keymap.set('n', '<leader>lca', vim.cmd.ChatGPTActAs, { desc = 'ChatGPT [A]ct As' }) vim.keymap.set('n', '<leader>lga', vim.cmd.ChatGPTActAs, { desc = 'ChatGPT [A]ct As' })
vim.keymap.set('n', '<leader>lcc', vim.cmd.ChatGPTCompleteCode, { desc = 'ChatGPT [C]omplete Code' }) vim.keymap.set('n', '<leader>lgc', vim.cmd.ChatGPTCompleteCode, { desc = 'ChatGPT [C]omplete Code' })
vim.keymap.set('n', '<leader>lce', vim.cmd.ChatGPTEditWithInstructions, { desc = 'ChatGPT [E]dit With Instructions' }) vim.keymap.set('n', '<leader>lge', vim.cmd.ChatGPTEditWithInstructions,
vim.keymap.set('v', '<leader>lce', vim.cmd.ChatGPTEditWithInstructions, { desc = 'ChatGPT [E]dit With Instructions' }) { desc = 'ChatGPT [E]dit With Instructions' })
vim.keymap.set('n', '<leader>lcd', '<cmd>ChatGPTRun docstring<CR>', { desc = 'ChatGPT [D]ocstring' }) vim.keymap.set('v', '<leader>lge', vim.cmd.ChatGPTEditWithInstructions,
vim.keymap.set('n', '<leader>lco', '<cmd>ChatGPTRun optimize_code<CR>', { desc = 'ChatGPT [o]ptimize code' }) { desc = 'ChatGPT [E]dit With Instructions' })
vim.keymap.set('n', '<leader>lce', '<cmd>ChatGPTRun explain_code<CR>', { desc = 'ChatGPT [e]xplain code' }) vim.keymap.set('n', '<leader>lgd', '<cmd>ChatGPTRun docstring<CR>', { desc = 'ChatGPT [D]ocstring' })
vim.keymap.set('n', '<leader>lcs', '<cmd>ChatGPTRun summarize<CR>', { desc = 'ChatGPT [s]ummarize' }) vim.keymap.set('n', '<leader>lgo', '<cmd>ChatGPTRun optimize_code<CR>', { desc = 'ChatGPT [o]ptimize code' })
vim.keymap.set('n', '<leader>lct', '<cmd>ChatGPTRun translate<CR>', { desc = 'ChatGPT [t]ranslate' }) vim.keymap.set('n', '<leader>lge', '<cmd>ChatGPTRun explain_code<CR>', { desc = 'ChatGPT [e]xplain code' })
vim.keymap.set('n', '<leader>lgs', '<cmd>ChatGPTRun summarize<CR>', { desc = 'ChatGPT [s]ummarize' })
vim.keymap.set('n', '<leader>lgt', '<cmd>ChatGPTRun translate<CR>', { desc = 'ChatGPT [t]ranslate' })
require('chatgpt').setup { require('chatgpt').setup {
yank_register = '+', yank_register = '+',
edit_with_instructions = { edit_with_instructions = {