diff --git a/lua/lazy/core/plugin.lua b/lua/lazy/core/plugin.lua index f06a1ff..15d5b2d 100644 --- a/lua/lazy/core/plugin.lua +++ b/lua/lazy/core/plugin.lua @@ -141,6 +141,13 @@ function Spec:warn(msg) end function Spec:fix_disabled() + -- handle weak plugins + for _, plugin in pairs(self.plugins) do + if plugin.weak and not plugin._.super then + self.plugins[plugin.name] = nil + end + end + ---@type table plugin to parent plugin local dep_of = {} diff --git a/lua/lazy/types.lua b/lua/lazy/types.lua index 067450a..5b3821c 100644 --- a/lua/lazy/types.lua +++ b/lua/lazy/types.lua @@ -47,6 +47,7 @@ ---@field dir string ---@field enabled? boolean|(fun():boolean) ---@field cond? boolean|(fun():boolean) +---@field weak? boolean If set, then this plugin will not be added unless it is added somewhere else ---@field lazy? boolean ---@field priority? number Only useful for lazy=false plugins to force loading certain plugins first. Default priority is 50 ---@field dev? boolean If set, then link to the respective folder under your ~/projects