Files
dotfiles/config/nvim/plugin/agentic.lua
T

56 lines
2.3 KiB
Lua

require('agentic').setup({
-- Available by default: "claude-agent-acp" | "gemini-acp" | "codex-acp" | "opencode-acp" | "cursor-acp" | "auggie-acp" | "mistral-vibe-acp"
provider = "opencode-acp", -- setting the name here is all you need to get started
keymaps = {
-- Keybindings for ALL buffers in the widget (chat, prompt, code, files)
widget = {
close = "q", -- String for a single keybinding
change_mode = {
{
"<S-Tab>",
mode = { "i", "n", "v" }, -- Specify modes for this keybinding
},
},
switch_provider = "ga", -- Switch ACP provider
switch_model = "gm", -- Switch model
},
-- Keybindings for the prompt buffer only
prompt = {
submit = {
"<CR>", -- Normal mode, just Enter
{
"<C-s>",
mode = { "n", "v", "i" },
},
},
paste_image = {
{
"<localLeader>p",
mode = { "n" },
},
{
"<C-v>", -- Same as Claude-code in insert mode
mode = { "i" },
}
},
},
-- Keybindings for diff preview navigation
diff_preview = {
next_hunk = "]c",
prev_hunk = "[c",
},
},
})
vim.keymap.set({ "n", "v" }, '<leader>mat', function() require("agentic").toggle() end, { desc = "Toggle Agentic Chat" })
vim.keymap.set({ "n", "v" }, '<C-\'>', function() require("agentic").add_selection_or_file_to_context() end, { desc = "Add file or selection to Agentic to Context" })
vim.keymap.set({ "n", "v" }, '<leader>man', function() require("agentic").new_session() end, { desc = "New Agentic Session" })
vim.keymap.set({ "n", "v" }, '<A-i>r', function() require("agentic").restore_session() end, { desc = "Agentic Restore session" })
vim.keymap.set({ "n" }, '<leader>mad', function() require("agentic").add_current_line_diagnostics() end, { desc = "Add current line diagnostic to Agentic" })
vim.keymap.set({ "n" }, '<leader>maD', function() require("agentic").add_buffer_diagnostics() end, { desc = "Add all buffer diagnostics to Agentic" })