diff --git a/lua/core/default_config.lua b/lua/core/default_config.lua index 74fd9f5..be9cc7c 100644 --- a/lua/core/default_config.lua +++ b/lua/core/default_config.lua @@ -26,6 +26,7 @@ M.ui = { M.plugins = { override = {}, + remove = {}, options = { packer = { diff --git a/lua/core/utils.lua b/lua/core/utils.lua index 75f3390..da714cd 100644 --- a/lua/core/utils.lua +++ b/lua/core/utils.lua @@ -92,6 +92,15 @@ M.load_ifExists = function(module) end end +-- remove plugins defined in chadrc +M.remove_default_plugins = function(plugins) + local removals = require("core.utils").load_config().plugins.remove or {} + if not vim.tbl_isempty(removals) then + for _, plugin in pairs(removals) do plugins[plugin] = nil end + end + return plugins +end + -- merge default/user plugin tables M.plugin_list = function(default_plugins) diff --git a/lua/plugins/init.lua b/lua/plugins/init.lua index f145f45..06f75e8 100644 --- a/lua/plugins/init.lua +++ b/lua/plugins/init.lua @@ -222,6 +222,7 @@ local plugins = { }, } +plugins = require("core.utils").remove_default_plugins(plugins) -- merge user plugin table & default plugin table plugins = require("core.utils").plugin_list(plugins)