diff options
| author | William Boman <william@redwill.se> | 2022-07-13 16:30:51 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-07-13 14:30:51 +0000 |
| commit | 828db98d7803e372b7437f754a365658a45a3cc2 (patch) | |
| tree | 21fedb532db91fa2a4f85fcbb17815c707c13f3a /lua | |
| parent | tests: add some InstallHandle tests (#67) (diff) | |
| download | mason-828db98d7803e372b7437f754a365658a45a3cc2.tar mason-828db98d7803e372b7437f754a365658a45a3cc2.tar.gz mason-828db98d7803e372b7437f754a365658a45a3cc2.tar.bz2 mason-828db98d7803e372b7437f754a365658a45a3cc2.tar.lz mason-828db98d7803e372b7437f754a365658a45a3cc2.tar.xz mason-828db98d7803e372b7437f754a365658a45a3cc2.tar.zst mason-828db98d7803e372b7437f754a365658a45a3cc2.zip | |
refactor(api): change signatures to accept list of packages (#68)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason/api/command.lua | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/lua/mason/api/command.lua b/lua/mason/api/command.lua index 90292994..6e20a449 100644 --- a/lua/mason/api/command.lua +++ b/lua/mason/api/command.lua @@ -77,13 +77,14 @@ local function join_handles(handles) end) end -local function MasonInstall(opts) +---@param package_specifiers string[] +local function MasonInstall(package_specifiers) local Package = require "mason-core.package" local registry = require "mason-registry" - local valid_packages = filter_valid_packages(opts.fargs) + local valid_packages = filter_valid_packages(package_specifiers) local is_headless = #vim.api.nvim_list_uis() == 0 - if is_headless and #valid_packages ~= #opts.fargs then + if is_headless and #valid_packages ~= #package_specifiers then -- When executing in headless mode we don't allow any of the provided packages to be invalid. -- This is to avoid things like scripts silently not erroring even if they've provided one or more invalid packages. return vim.cmd [[1cq]] @@ -105,15 +106,18 @@ local function MasonInstall(opts) end end -vim.api.nvim_create_user_command("MasonInstall", MasonInstall, { +vim.api.nvim_create_user_command("MasonInstall", function(opts) + MasonInstall(opts.fargs) +end, { desc = "Install one or more packages.", nargs = "+", complete = "custom,v:lua.mason_completion.available_package_completion", }) -local function MasonUninstall(opts) +---@param package_names string[] +local function MasonUninstall(package_names) local registry = require "mason-registry" - local valid_packages = filter_valid_packages(opts.fargs) + local valid_packages = filter_valid_packages(package_names) if #valid_packages > 0 then _.each(function(package_name) local pkg = registry.get_package(package_name) @@ -123,7 +127,9 @@ local function MasonUninstall(opts) end end -vim.api.nvim_create_user_command("MasonUninstall", MasonUninstall, { +vim.api.nvim_create_user_command("MasonUninstall", function(opts) + MasonUninstall(opts.fargs) +end, { desc = "Uninstall one or more packages.", nargs = "+", complete = "custom,v:lua.mason_completion.installed_package_completion", |
