mirror of https://github.com/folke/lazy.nvim.git
refactor: Plugin.dep => Plugin._.dep
This commit is contained in:
parent
330dbe7203
commit
756b4849d9
|
@ -18,6 +18,7 @@ local M = {}
|
||||||
---@field is_local boolean
|
---@field is_local boolean
|
||||||
---@field is_symlink? boolean
|
---@field is_symlink? boolean
|
||||||
---@field cloned? boolean
|
---@field cloned? boolean
|
||||||
|
---@field dep? boolean True if this plugin is only in the spec as a dependency
|
||||||
|
|
||||||
---@class LazyPluginRef
|
---@class LazyPluginRef
|
||||||
---@field branch? string
|
---@field branch? string
|
||||||
|
@ -31,7 +32,6 @@ local M = {}
|
||||||
---@field name string display name and name used for plugin config files
|
---@field name string display name and name used for plugin config files
|
||||||
---@field uri string
|
---@field uri string
|
||||||
---@field dir string
|
---@field dir string
|
||||||
---@field dep? boolean True if this plugin is only in the spec as a dependency
|
|
||||||
---@field enabled? boolean|(fun():boolean)
|
---@field enabled? boolean|(fun():boolean)
|
||||||
---@field lazy? boolean
|
---@field lazy? boolean
|
||||||
---@field dependencies? string[]
|
---@field dependencies? string[]
|
||||||
|
@ -80,7 +80,8 @@ function Spec:add(plugin, is_dep)
|
||||||
plugin.name = slash and name:sub(#name - slash + 2) or pkg:gsub("%W+", "_")
|
plugin.name = slash and name:sub(#name - slash + 2) or pkg:gsub("%W+", "_")
|
||||||
end
|
end
|
||||||
|
|
||||||
plugin.dep = is_dep
|
plugin._ = {}
|
||||||
|
plugin._.dep = is_dep
|
||||||
|
|
||||||
-- check for plugins that should be local
|
-- check for plugins that should be local
|
||||||
for _, pattern in ipairs(Config.options.dev.patterns) do
|
for _, pattern in ipairs(Config.options.dev.patterns) do
|
||||||
|
@ -120,11 +121,11 @@ end
|
||||||
---@param new LazyPlugin
|
---@param new LazyPlugin
|
||||||
---@return LazyPlugin
|
---@return LazyPlugin
|
||||||
function Spec:merge(old, new)
|
function Spec:merge(old, new)
|
||||||
local is_dep = old.dep and new.dep
|
local is_dep = old._.dep and new._.dep
|
||||||
|
|
||||||
---@diagnostic disable-next-line: no-unknown
|
---@diagnostic disable-next-line: no-unknown
|
||||||
for k, v in pairs(new) do
|
for k, v in pairs(new) do
|
||||||
if k == "dep" then
|
if k == "_" then
|
||||||
elseif old[k] ~= nil and old[k] ~= v then
|
elseif old[k] ~= nil and old[k] ~= v then
|
||||||
if Handler.handlers[k] then
|
if Handler.handlers[k] then
|
||||||
local values = type(v) == "string" and { v } or v
|
local values = type(v) == "string" and { v } or v
|
||||||
|
@ -139,7 +140,7 @@ function Spec:merge(old, new)
|
||||||
old[k] = v
|
old[k] = v
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
old.dep = is_dep
|
old._.dep = is_dep
|
||||||
return old
|
return old
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -155,7 +156,12 @@ function M.update_state()
|
||||||
for _, plugin in pairs(Config.plugins) do
|
for _, plugin in pairs(Config.plugins) do
|
||||||
plugin._ = plugin._ or {}
|
plugin._ = plugin._ or {}
|
||||||
if plugin.lazy == nil then
|
if plugin.lazy == nil then
|
||||||
local lazy = plugin.dep or Config.options.defaults.lazy or plugin.event or plugin.keys or plugin.ft or plugin.cmd
|
local lazy = plugin._.dep
|
||||||
|
or Config.options.defaults.lazy
|
||||||
|
or plugin.event
|
||||||
|
or plugin.keys
|
||||||
|
or plugin.ft
|
||||||
|
or plugin.cmd
|
||||||
plugin.lazy = lazy and true or false
|
plugin.lazy = lazy and true or false
|
||||||
end
|
end
|
||||||
plugin.dir = Config.root .. "/" .. plugin.name
|
plugin.dir = Config.root .. "/" .. plugin.name
|
||||||
|
|
|
@ -19,6 +19,7 @@ describe("plugin spec uri/name", function()
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, test in ipairs(tests) do
|
for _, test in ipairs(tests) do
|
||||||
|
test[2]._ = {}
|
||||||
it("parses " .. vim.inspect(test[1]):gsub("%s+", " "), function()
|
it("parses " .. vim.inspect(test[1]):gsub("%s+", " "), function()
|
||||||
local spec = Plugin.Spec.new(test[1])
|
local spec = Plugin.Spec.new(test[1])
|
||||||
local plugins = vim.tbl_values(spec.plugins)
|
local plugins = vim.tbl_values(spec.plugins)
|
||||||
|
@ -42,11 +43,11 @@ describe("plugin spec opt", function()
|
||||||
Plugin.update_state()
|
Plugin.update_state()
|
||||||
assert(vim.tbl_count(spec.plugins) == 3)
|
assert(vim.tbl_count(spec.plugins) == 3)
|
||||||
assert(#spec.plugins.bar.dependencies == 2)
|
assert(#spec.plugins.bar.dependencies == 2)
|
||||||
assert(spec.plugins.bar.dep ~= true)
|
assert(spec.plugins.bar._.dep ~= true)
|
||||||
assert(spec.plugins.bar.lazy == false)
|
assert(spec.plugins.bar.lazy == false)
|
||||||
assert(spec.plugins.dep1.dep == true)
|
assert(spec.plugins.dep1._.dep == true)
|
||||||
assert(spec.plugins.dep1.lazy == true)
|
assert(spec.plugins.dep1.lazy == true)
|
||||||
assert(spec.plugins.dep2.dep == true)
|
assert(spec.plugins.dep2._.dep == true)
|
||||||
assert(spec.plugins.dep2.lazy == true)
|
assert(spec.plugins.dep2.lazy == true)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
@ -57,11 +58,11 @@ describe("plugin spec opt", function()
|
||||||
Config.plugins = spec.plugins
|
Config.plugins = spec.plugins
|
||||||
Plugin.update_state()
|
Plugin.update_state()
|
||||||
assert.same(3, vim.tbl_count(spec.plugins))
|
assert.same(3, vim.tbl_count(spec.plugins))
|
||||||
assert(spec.plugins.bar.dep ~= true)
|
assert(spec.plugins.bar._.dep ~= true)
|
||||||
assert(spec.plugins.bar.lazy == false)
|
assert(spec.plugins.bar.lazy == false)
|
||||||
assert(spec.plugins.dep2.dep == true)
|
assert(spec.plugins.dep2._.dep == true)
|
||||||
assert(spec.plugins.dep2.lazy == true)
|
assert(spec.plugins.dep2.lazy == true)
|
||||||
assert(spec.plugins.dep1.dep ~= true)
|
assert(spec.plugins.dep1._.dep ~= true)
|
||||||
assert(spec.plugins.dep1.lazy == false)
|
assert(spec.plugins.dep1.lazy == false)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
@ -88,7 +89,7 @@ describe("plugin spec opt", function()
|
||||||
Config.plugins = spec.plugins
|
Config.plugins = spec.plugins
|
||||||
Plugin.update_state()
|
Plugin.update_state()
|
||||||
assert.same(1, vim.tbl_count(spec.plugins))
|
assert.same(1, vim.tbl_count(spec.plugins))
|
||||||
assert(spec.plugins.bar.dep ~= true)
|
assert(spec.plugins.bar._.dep ~= true)
|
||||||
assert(spec.plugins.bar.lazy == true)
|
assert(spec.plugins.bar.lazy == true)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue