Skip to content

Commit

Permalink
fix(spec): Plugin.opts is now always a table. Fixes #351
Browse files Browse the repository at this point in the history
  • Loading branch information
folke committed Jan 8, 2023
1 parent ef87c24 commit e77be3c
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 5 deletions.
7 changes: 2 additions & 5 deletions lua/lazy/core/loader.lua
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ end
-- Merges super opts or runs the opts function to override opts or return new ones
---@param plugin LazyPlugin
function M.opts(plugin)
---@type table
local opts = plugin._.super and M.opts(plugin._.super) or {}
---@type PluginOpts?
local plugin_opts = rawget(plugin, "opts")
Expand Down Expand Up @@ -273,11 +274,7 @@ function M.config(plugin)
end
if #mods == 1 then
fn = function()
local opts = M.opts(plugin)
if next(opts) == nil then
opts = nil
end
require(mods[1]).setup(opts)
require(mods[1]).setup(M.opts(plugin))
end
else
return Util.error(
Expand Down
3 changes: 3 additions & 0 deletions lua/lazy/core/util.lua
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,9 @@ end
--- Values will me merged in-place in the first left-most table. If you want the result to be in
--- a new table, then simply pass an empty table as the first argument `vim.merge({}, ...)`
--- Supports clearing values by setting a key to `vim.NIL`
---@generic T
---@param ... T
---@return T
function M.merge(...)
local values = { ... }
local ret = values[1]
Expand Down
8 changes: 8 additions & 0 deletions tests/core/plugin_spec.lua
Original file line number Diff line number Diff line change
Expand Up @@ -298,6 +298,14 @@ describe("plugin opts", function()
spec = { { "foo/foo", config = { a = 1, b = 1 } }, { "foo/foo", config = { a = vim.NIL } } },
opts = { b = 1 },
},
{
spec = { { "foo/foo", config = { a = 1, b = 1 } }, { "foo/foo" } },
opts = { a = 1, b = 1 },
},
{
spec = { { "foo/foo" }, { "foo/foo" } },
opts = {},
},
}

for _, test in ipairs(tests) do
Expand Down

0 comments on commit e77be3c

Please sign in to comment.