From 3f0c37afc0e83e986563c15f6824310cb3dff2f1 Mon Sep 17 00:00:00 2001 From: James Yin Date: Mon, 11 Apr 2022 12:18:21 +0800 Subject: [PATCH 1/2] fix: break sequencing --- lua/packer/load.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lua/packer/load.lua b/lua/packer/load.lua index eb96ff73..9f4693fd 100644 --- a/lua/packer/load.lua +++ b/lua/packer/load.lua @@ -30,6 +30,14 @@ local function verify_conditions(conds, name) return true end +local function verify_load_afters(plugin) + return plugin.load_after == nil or next(plugin.load_after) == nil +end + +local function skip_lazy(plugin, cause) + return (plugin.commands ~= nil or plugin.keys ~= nil) and next(cause) == nil +end + local function loader_clear_loaders(plugin) if plugin.commands then for _, del_cmd in ipairs(plugin.commands) do @@ -127,7 +135,7 @@ packer_load = function(names, cause, plugins, force) error(err_message) end - if not plugin.loaded then + if not plugin.loaded and verify_load_afters(plugin) and not skip_lazy(plugin, cause) then loader_clear_loaders(plugin) if force or verify_conditions(plugin.cond, names[i]) then -- Set the plugin as loaded before config is run in case something in the config tries to load From e9ff0516e9f788625a458adc6eefb09e05f9e8e8 Mon Sep 17 00:00:00 2001 From: Wil Thomason Date: Tue, 26 Jul 2022 00:23:52 -0700 Subject: [PATCH 2/2] Rename verify_load_afters to clearer name --- lua/packer/load.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lua/packer/load.lua b/lua/packer/load.lua index 9f4693fd..e6da46af 100644 --- a/lua/packer/load.lua +++ b/lua/packer/load.lua @@ -30,7 +30,7 @@ local function verify_conditions(conds, name) return true end -local function verify_load_afters(plugin) +local function no_remaining_preloads(plugin) return plugin.load_after == nil or next(plugin.load_after) == nil end @@ -135,7 +135,7 @@ packer_load = function(names, cause, plugins, force) error(err_message) end - if not plugin.loaded and verify_load_afters(plugin) and not skip_lazy(plugin, cause) then + if not plugin.loaded and no_remaining_preloads(plugin) and not skip_lazy(plugin, cause) then loader_clear_loaders(plugin) if force or verify_conditions(plugin.cond, names[i]) then -- Set the plugin as loaded before config is run in case something in the config tries to load