From 060cf23aca3826c213ad26ff1860815b03064269 Mon Sep 17 00:00:00 2001 From: Folke Lemaitre Date: Fri, 16 Dec 2022 15:08:09 +0100 Subject: [PATCH] perf: when reloading plugin specs always use cache --- lua/lazy/core/cache.lua | 4 ++++ lua/lazy/core/plugin.lua | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lua/lazy/core/cache.lua b/lua/lazy/core/cache.lua index a9aaa06c..c486e83d 100644 --- a/lua/lazy/core/cache.lua +++ b/lua/lazy/core/cache.lua @@ -92,6 +92,10 @@ function M.loader(modname) return chunk or error(err) end +function M.require(modname) + return M.loader(modname)() +end + function M.idx() -- update our loader position if needed if package.loaders[M.loader_idx] ~= M.loader then diff --git a/lua/lazy/core/plugin.lua b/lua/lazy/core/plugin.lua index 541e5736..11936d84 100644 --- a/lua/lazy/core/plugin.lua +++ b/lua/lazy/core/plugin.lua @@ -1,6 +1,7 @@ local Config = require("lazy.core.config") local Util = require("lazy.core.util") local Handler = require("lazy.core.handler") +local Cache = require("lazy.core.cache") local M = {} @@ -217,7 +218,7 @@ function M.spec() ---@diagnostic disable-next-line: no-unknown package.loaded[modname] = nil Util.try(function() - spec:normalize(require(modname)) + spec:normalize(Cache.require(modname)) end, "Failed to load **" .. modname .. "**") end local path_plugins = vim.fn.stdpath("config") .. "/lua/" .. Config.spec:gsub("%.", "/")