return { 'GeorgesAlkhouri/nvim-aider', cmd = 'Aider', keys = { { 'a/', 'Aider toggle', desc = 'Toggle Aider' }, { 'as', 'Aider send', desc = 'Send to Aider', mode = { 'n', 'v' } }, { 'ac', 'Aider command', desc = 'Aider Commands' }, { 'ab', 'Aider buffer', desc = 'Send Buffer' }, { 'a+', 'Aider add', desc = 'Add File' }, { 'a-', 'Aider drop', desc = 'Drop File' }, { 'ar', 'Aider add readonly', desc = 'Add Read-Only' }, { 'aR', 'Aider reset', desc = 'Reset Session' }, -- Example nvim-tree.lua integration if needed { 'a+', 'AiderTreeAddFile', desc = 'Add File from Tree to Aider', ft = 'NvimTree' }, { 'a-', 'AiderTreeDropFile', desc = 'Drop File from Tree from Aider', ft = 'NvimTree' }, }, dependencies = { 'folke/snacks.nvim', --- The below dependencies are optional 'catppuccin/nvim', 'nvim-tree/nvim-tree.lua', --- Neo-tree integration { 'nvim-neo-tree/neo-tree.nvim', opts = function(_, opts) -- Example mapping configuration (already set by default) -- opts.window = { -- mappings = { -- ["+"] = { "nvim_aider_add", desc = "add to aider" }, -- ["-"] = { "nvim_aider_drop", desc = "drop from aider" } -- ["="] = { "nvim_aider_add_read_only", desc = "add read-only to aider" } -- } -- } require('nvim_aider.neo_tree').setup(opts) end, }, }, config = function() require('nvim_aider').setup { aider_cmd = 'aider', args = { '--config=$HOME/.config/aider/aider.yaml', '--no-auto-commits', '--env-file=$(pwd)/.aider.env', }, auto_reload = true, win = { wo = { winbar = 'Aider' }, style = 'nvim_aider', position = 'bottom', }, } end, }