diff --git a/README.md b/README.md index ea55523..b83e7dc 100644 --- a/README.md +++ b/README.md @@ -23,13 +23,14 @@ Install `avante.nvim` using [lazy.nvim](https://github.com/folke/lazy.nvim): { "yetone/avante.nvim", event = "VeryLazy", + lazy = false, opts = { -- add any opts here }, - keys = { -- See https://github.com/yetone/avante.nvim/wiki#keymaps for more info + keys = { { "aa", function() require("avante.api").ask() end, desc = "avante: ask", mode = { "n", "v" } }, - { "ar", function() require("avante.api").refresh() end, desc = "avante: refresh", mode = "v" }, - { "ae", function() require("avante.api").edit() end, desc = "avante: edit", mode = { "n", "v" } }, + { "ar", function() require("avante.api").refresh() end, desc = "avante: refresh" }, + { "ae", function() require("avante.api").edit() end, desc = "avante: edit", mode = "v" }, }, dependencies = { "stevearc/dressing.nvim", @@ -211,7 +212,7 @@ The following key bindings are available for use with `avante.nvim`: > [!NOTE] > > If you are using `lazy.nvim`, then all keymap here will be safely set, meaning if `aa` is already binded, then avante.nvim won't bind this mapping. -> In this case, user will be responsible for setting up their own. See [notes on keymaps](https://github.com/yetone/avante.nvim/wiki#keymaps) for more details. +> In this case, user will be responsible for setting up their own. See [notes on keymaps](https://github.com/yetone/avante.nvim/wiki#keymaps-and-api-i-guess) for more details. ## Highlight Groups diff --git a/lua/avante/config.lua b/lua/avante/config.lua index c14a85d..4db267e 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -66,10 +66,13 @@ M.defaults = { ---Specify the behaviour of avante.nvim ---1. auto_apply_diff_after_generation: Whether to automatically apply diff after LLM response. --- This would simulate similar behaviour to cursor. Default to false. - ---2. auto_set_highlight_group: Whether to automatically set the highlight group for the current line. Default to true. - ---3. support_paste_from_clipboard: Whether to support pasting image from clipboard. This will be determined automatically based whether img-clip is available or not. + ---2. auto_set_keymaps : Whether to automatically set the keymap for the current line. Default to true. + --- Note that avante will safely set these keymap. See https://github.com/yetone/avante.nvim/wiki#keymaps-and-api-i-guess for more details. + ---3. auto_set_highlight_group : Whether to automatically set the highlight group for the current line. Default to true. + ---4. support_paste_from_clipboard : Whether to support pasting image from clipboard. This will be determined automatically based whether img-clip is available or not. behaviour = { auto_set_highlight_group = true, + auto_set_keymaps = true, auto_apply_diff_after_generation = false, support_paste_from_clipboard = false, }, diff --git a/lua/avante/init.lua b/lua/avante/init.lua index 6130dbb..401f877 100644 --- a/lua/avante/init.lua +++ b/lua/avante/init.lua @@ -28,13 +28,6 @@ H.commands = function() cmd("Ask", function() M.ask() end, { desc = "avante: ask AI for code suggestions" }) - cmd("Close", function() - local sidebar, _ = M._get() - if not sidebar then - return - end - sidebar:close() - end, { desc = "avante: close chat window" }) cmd("Edit", function() M.edit() end, { desc = "avante: edit selected block" }) @@ -61,21 +54,23 @@ H.keymaps = function() M.toggle.hint() end) - Utils.safe_keymap_set({ "n", "v" }, Config.mappings.ask, function() - M.ask() - end, { desc = "avante: ask" }) - Utils.safe_keymap_set("v", Config.mappings.edit, function() - M.edit() - end, { desc = "avante: edit" }) - Utils.safe_keymap_set("n", Config.mappings.refresh, function() - M.refresh() - end, { desc = "avante: refresh" }) - Utils.safe_keymap_set("n", Config.mappings.toggle.debug, function() - M.toggle.debug() - end, { desc = "avante: toggle debug" }) - Utils.safe_keymap_set("n", Config.mappings.toggle.hint, function() - M.toggle.hint() - end, { desc = "avante: toggle hint" }) + if Config.behaviour.auto_set_keymaps then + Utils.safe_keymap_set({ "n", "v" }, Config.mappings.ask, function() + M.ask() + end, { desc = "avante: ask" }) + Utils.safe_keymap_set("v", Config.mappings.edit, function() + M.edit() + end, { desc = "avante: edit" }) + Utils.safe_keymap_set("n", Config.mappings.refresh, function() + M.refresh() + end, { desc = "avante: refresh" }) + Utils.safe_keymap_set("n", Config.mappings.toggle.debug, function() + M.toggle.debug() + end, { desc = "avante: toggle debug" }) + Utils.safe_keymap_set("n", Config.mappings.toggle.hint, function() + M.toggle.hint() + end, { desc = "avante: toggle hint" }) + end end ---@class ApiCaller