This commit is contained in:
HC 2024-11-04 20:19:53 +02:00 committed by GitHub
commit 47333797ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 14 additions and 5 deletions

View File

@ -181,23 +181,32 @@ function M.load(plugins, reason, opts)
---@diagnostic disable-next-line: cast-local-type ---@diagnostic disable-next-line: cast-local-type
plugins = (type(plugins) == "string" or plugins.name) and { plugins } or plugins plugins = (type(plugins) == "string" or plugins.name) and { plugins } or plugins
---@cast plugins (string|LazyPlugin)[] ---@cast plugins (string|LazyPlugin)[]
local queue = {}
for _, plugin in pairs(plugins) do for _, plugin in pairs(plugins) do
if type(plugin) == "string" then if type(plugin) == "string" then
if Config.plugins[plugin] then if Config.plugins[plugin] then
plugin = Config.plugins[plugin] plugin = Config.plugins[plugin]
elseif Config.spec.disabled[plugin] then elseif Config.spec.disabled[plugin] then
plugin = nil goto continue
else else
Util.error("Plugin " .. plugin .. " not found") Util.error("Plugin " .. plugin .. " not found")
plugin = nil goto continue
end end
end end
if plugin and not plugin._.loaded then if not plugin._.loaded then
table.insert(queue, plugin)
end
::continue::
end
table.sort(queue,function (a,b)
return a.priority and b.priority and a.priority>b.priority
end)
for _,plugin in ipairs(queue) do
M._load(plugin, reason, opts) M._load(plugin, reason, opts)
end end
end end
end
---@param plugin LazyPlugin ---@param plugin LazyPlugin
function M.deactivate(plugin) function M.deactivate(plugin)