diff options
| author | Mark Sommers <42284859+marks0mmers@users.noreply.github.com> | 2025-02-15 10:44:40 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-02-15 16:44:40 +0100 |
| commit | 5664dd5deb3ac9527da90691543eb28df51c1ef8 (patch) | |
| tree | 4f7f8857c4ef6abc26ed2412d84cf28edc0f6635 /lua | |
| parent | tests: add new nvim versions to test matrix (#1877) (diff) | |
| download | mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar.gz mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar.bz2 mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar.lz mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar.xz mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.tar.zst mason-5664dd5deb3ac9527da90691543eb28df51c1ef8.zip | |
fix: replace deprecated calls to vim.validate (#1876)
Co-authored-by: William Boman <william@redwill.se>
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-core/package/init.lua | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/lua/mason-core/package/init.lua b/lua/mason-core/package/init.lua index 57f4868d..a5b14548 100644 --- a/lua/mason-core/package/init.lua +++ b/lua/mason-core/package/init.lua @@ -86,30 +86,33 @@ local PackageMt = { __index = Package } ---@field opt table<string, string>? ---@param spec PackageSpec | RegistryPackageSpec -function Package.new(spec) +local function validate_spec(spec) + if vim.fn.has "nvim-0.11" ~= 1 then + return + end if is_registry_spec(spec) then - vim.validate { - name = { spec.name, "s" }, - description = { spec.description, "s" }, - homepage = { spec.homepage, "s" }, - licenses = { spec.licenses, "t" }, - categories = { spec.categories, "t" }, - languages = { spec.languages, "t" }, - source = { spec.source, "t" }, - bin = { spec.bin, { "t", "nil" } }, - share = { spec.share, { "t", "nil" } }, - } + vim.validate("name", spec.name, "string") + vim.validate("description", spec.description, "string") + vim.validate("homepage", spec.homepage, "string") + vim.validate("licenses", spec.licenses, "table") + vim.validate("categories", spec.categories, "table") + vim.validate("languages", spec.languages, "table") + vim.validate("source", spec.source, "table") + vim.validate("bin", spec.bin, { "table", "nil" }) + vim.validate("share", spec.share, { "table", "nil" }) else - vim.validate { - name = { spec.name, "s" }, - desc = { spec.desc, "s" }, - homepage = { spec.homepage, "s" }, - categories = { spec.categories, "t" }, - languages = { spec.languages, "t" }, - install = { spec.install, "f" }, - } + vim.validate("name", spec.name, "string") + vim.validate("desc", spec.desc, "string") + vim.validate("homepage", spec.homepage, "string") + vim.validate("categories", spec.categories, "table") + vim.validate("languages", spec.languages, "table") + vim.validate("install", spec.install, "function") end +end +---@param spec PackageSpec | RegistryPackageSpec +function Package.new(spec) + validate_spec(spec) return EventEmitter.init(setmetatable({ name = spec.name, -- for convenient access spec = spec, |
