perf: minimize meta rebuild when loading specs

This commit is contained in:
Folke Lemaitre 2024-06-24 21:56:43 +02:00
parent 972baa615b
commit 1446f6cfbb
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
4 changed files with 67 additions and 13 deletions

View file

@ -524,7 +524,7 @@ function M.colorscheme(name)
end
function M.auto_load(modname, modpath)
local plugin = Plugin.find(modpath)
local plugin = Plugin.find(modpath, { fast = not M.did_handlers })
if plugin and modpath:find(plugin.dir, 1, true) == 1 then
plugin._.rtp_loaded = true
-- don't load if:
@ -545,8 +545,14 @@ end
---@param modname string
function M.loader(modname)
local paths = Util.get_unloaded_rtp(modname)
local paths, cached = Util.get_unloaded_rtp(modname, { cache = true })
local ret = Cache.find(modname, { rtp = false, paths = paths })[1]
if not ret and cached then
paths = Util.get_unloaded_rtp(modname)
ret = Cache.find(modname, { rtp = false, paths = paths })[1]
end
if ret then
M.auto_load(modname, ret.modpath)
local mod = package.loaded[modname]