return { "yetone/avante.nvim", event = "VeryLazy", lazy = false, config = function(_, opts) -- Let the plugin load first require("avante").setup(opts) -- Then remove the default mappings vim.schedule(function() vim.keymap.del({ "n", "v" }, "aa") vim.keymap.del("n", "ar") vim.keymap.del("v", "ae") vim.keymap.del("n", "ah") vim.keymap.del("n", "ad") vim.keymap.del("n", "af") vim.keymap.del("n", "aR") vim.keymap.del("n", "as") vim.keymap.del("n", "at") vim.keymap.del("n", "a?") vim.keymap.del("n", "aB") vim.keymap.del("n", "aS") end) end, opts = { -- add any opts here provider = "copilot", copilot = { model = "claude-sonnet-4", -- max_tokens = 4096, }, }, build = "make", keys = { { "ca", function() require("avante.api").ask() end, desc = "avante: ask", mode = { "n", "v" }, }, { "cr", function() require("avante.api").refresh() end, desc = "avante: refresh", }, { "ce", function() require("avante.api").edit() end, desc = "avante: edit", mode = "v", }, { "ch", function() require("avante.api").hint() end, desc = "avante: hint", mode = "n", }, { "cd", function() require("avante.api").debug() end, desc = "avante: debug", mode = "n", }, }, dependencies = { "stevearc/dressing.nvim", "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", --- The below dependencies are optional, -- "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons { -- Make sure to setup it properly if you have lazy=true "MeanderingProgrammer/render-markdown.nvim", -- "zbirenbaum/copilot.lua", -- for providers='copilot' opts = { file_types = { "markdown", "Avante" }, }, ft = { "markdown", "Avante" }, }, }, }