perf(loader): re-use topmod cache to find setup() module

This commit is contained in:
Folke Lemaitre 2022-12-30 20:14:46 +01:00
parent 887c602957
commit 730bb84364
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
2 changed files with 15 additions and 10 deletions

View file

@ -1,6 +1,7 @@
local Util = require("lazy.core.util")
local Config = require("lazy.core.config")
local Handler = require("lazy.core.handler")
local Cache = require("lazy.core.cache")
local M = {}
@ -204,19 +205,17 @@ function M.config(plugin)
end
else
local normname = Util.normname(plugin.name)
---@type table<string, string>
---@type string[]
local mods = {}
Util.ls(plugin.dir .. "/lua", function(_, modname)
modname = modname:gsub("%.lua$", "")
mods[modname] = modname
for _, modname in ipairs(Cache.get_topmods(plugin.dir)) do
mods[#mods + 1] = modname
local modnorm = Util.normname(modname)
-- if we found an exact match, then use that
if modnorm == normname then
mods = { modname }
return false
break
end
end)
mods = vim.tbl_values(mods)
end
if #mods == 1 then
fn = function()
local opts = plugin.config