diff --git a/lua/avante/config.lua b/lua/avante/config.lua index 0d57482..1ab6529 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -408,6 +408,7 @@ M._defaults = { debounce = 600, throttle = 600, }, + disabled_tools = {}, ---@type string[] } ---@type avante.Config diff --git a/lua/avante/llm_tools.lua b/lua/avante/llm_tools.lua index ef0e0a4..299d532 100644 --- a/lua/avante/llm_tools.lua +++ b/lua/avante/llm_tools.lua @@ -569,7 +569,9 @@ end function M.get_tools() return vim .iter(M._tools) - :filter(function(tool) + :filter(function(tool) ---@param tool AvanteLLMTool + -- Always disable tools that are explicitly disabled + if vim.tbl_contains(Config.disabled_tools, tool.name) then return false end if tool.enabled == nil then return true else diff --git a/lua/avante/sidebar.lua b/lua/avante/sidebar.lua index c373f62..b3de7b9 100644 --- a/lua/avante/sidebar.lua +++ b/lua/avante/sidebar.lua @@ -2317,8 +2317,7 @@ function Sidebar:create_input_container(opts) table.insert(tools, { name = "remove_file_from_context", description = "Remove a file from the context", - ---@param input { rel_path: string } - ---@type AvanteLLMToolFunc + ---@type AvanteLLMToolFunc<{ rel_path: string }> func = function(input) self.file_selector:remove_selected_file(input.rel_path) return "Removed file from context", nil