perf: dont loop over handlers to determine if a plugin should be opt=true

This commit is contained in:
Folke Lemaitre 2022-11-29 20:26:30 +01:00
parent ba8b4723a7
commit 812bb3c8b7
No known key found for this signature in database
GPG Key ID: 41F8B1FBACAE2040
1 changed files with 7 additions and 8 deletions

View File

@ -205,14 +205,13 @@ function M.update_state(opts)
plugin._ = plugin._ or {}
plugin[1] = plugin["1"] or plugin[1]
if plugin.opt == nil then
local has_handler = false
for handler, _ in pairs(Handler.handlers) do
if plugin[handler] then
has_handler = true
break
end
end
plugin.opt = plugin.dep or has_handler or Config.options.opt
plugin.opt = plugin.dep
or Config.options.opt
or plugin.module
or plugin.event
or plugin.keys
or plugin.ft
or plugin.cmd
end
local opt = plugin.opt and "opt" or "start"
plugin.dir = Config.options.packpath .. "/" .. opt .. "/" .. plugin.name