diff --git a/lua/lz/n/init.lua b/lua/lz/n/init.lua index e0111b7..93453b9 100644 --- a/lua/lz/n/init.lua +++ b/lua/lz/n/init.lua @@ -25,8 +25,9 @@ end --- handlers' `lookup` functions to search for a plugin to load --- (loading the first one it finds). --- Once a plugin has been loaded, it will be removed from all handlers (via `del`). ---- As a result, calling `trigger_load` with a plugin name is idempotent. ----@param plugins string | lz.n.Plugin | string[] | lz.n.Plugin[] | table +--- As a result, calling `trigger_load` with a plugin name is stateful and idempotent. +---@overload fun(plugins: lz.n.Plugin | string[] | lz.n.Plugin[] | table) +---@overload fun(plugins: string | string[]) M.trigger_load = function(plugins) require("lz.n.loader").load(plugins, M.lookup) end diff --git a/lua/lz/n/loader.lua b/lua/lz/n/loader.lua index b16fe97..f4bbc86 100644 --- a/lua/lz/n/loader.lua +++ b/lua/lz/n/loader.lua @@ -98,8 +98,8 @@ local function hook(hook_key, plugin) end end ----@param plugins string | lz.n.Plugin | string[] | lz.n.Plugin[] | table ----@param lookup? fun(name: string): lz.n.Plugin? +---@overload fun(plugins: lz.n.Plugin | string[] | lz.n.Plugin[] | table) +---@overload fun(plugins: string | string[], lookup: fun(name: string): lz.n.Plugin?) function M.load(plugins, lookup) plugins = (type(plugins) == "string" or plugins.name) and { plugins } or plugins ---@cast plugins (string|lz.n.Plugin)[] | table