diff --git a/lua/avante/config.lua b/lua/avante/config.lua index 7a92f5c..07c7f2c 100644 --- a/lua/avante/config.lua +++ b/lua/avante/config.lua @@ -465,7 +465,7 @@ M._defaults = { throttle = 600, }, disabled_tools = {}, ---@type string[] - ---@type AvanteLLMToolPublic[] + ---@type AvanteLLMToolPublic[] | fun(): AvanteLLMToolPublic[] custom_tools = {}, } diff --git a/lua/avante/llm_tools.lua b/lua/avante/llm_tools.lua index 7d237c5..b14f605 100644 --- a/lua/avante/llm_tools.lua +++ b/lua/avante/llm_tools.lua @@ -605,8 +605,10 @@ end ---@return AvanteLLMTool[] function M.get_tools() + local custom_tools = Config.custom_tools + if type(custom_tools) == "function" then custom_tools = custom_tools() end ---@type AvanteLLMTool[] - local unfiltered_tools = vim.list_extend(vim.list_extend({}, M._tools), Config.custom_tools) + local unfiltered_tools = vim.list_extend(vim.list_extend({}, M._tools), custom_tools) return vim .iter(unfiltered_tools) :filter(function(tool) ---@param tool AvanteLLMTool