aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-13 03:34:33 +0200
committerGitHub <noreply@github.com>2022-07-13 01:34:33 +0000
commit720016d4fa525770d13e0933b05c919a5939622c (patch)
treecb2885c26c0104c1398b26cc387e3eb264faaed1 /lua
parentfeat: add cspell spell checker (#65) (diff)
downloadmason-720016d4fa525770d13e0933b05c919a5939622c.tar
mason-720016d4fa525770d13e0933b05c919a5939622c.tar.gz
mason-720016d4fa525770d13e0933b05c919a5939622c.tar.bz2
mason-720016d4fa525770d13e0933b05c919a5939622c.tar.lz
mason-720016d4fa525770d13e0933b05c919a5939622c.tar.xz
mason-720016d4fa525770d13e0933b05c919a5939622c.tar.zst
mason-720016d4fa525770d13e0933b05c919a5939622c.zip
fix(api): fix the :MasonUninstall command (#66)
Diffstat (limited to 'lua')
-rw-r--r--lua/mason/api/command.lua42
1 files changed, 28 insertions, 14 deletions
diff --git a/lua/mason/api/command.lua b/lua/mason/api/command.lua
index 084f148f..90292994 100644
--- a/lua/mason/api/command.lua
+++ b/lua/mason/api/command.lua
@@ -1,11 +1,11 @@
local notify = require "mason-core.notify"
local _ = require "mason-core.functional"
-local M = {}
-
-vim.api.nvim_create_user_command("Mason", function()
+local function Mason()
require("mason.ui").open()
-end, {
+end
+
+vim.api.nvim_create_user_command("Mason", Mason, {
desc = "Opens mason's UI window.",
nargs = 0,
})
@@ -77,7 +77,7 @@ local function join_handles(handles)
end)
end
-vim.api.nvim_create_user_command("MasonInstall", function(opts)
+local function MasonInstall(opts)
local Package = require "mason-core.package"
local registry = require "mason-registry"
local valid_packages = filter_valid_packages(opts.fargs)
@@ -103,42 +103,50 @@ vim.api.nvim_create_user_command("MasonInstall", function(opts)
else
require("mason.ui").open()
end
-end, {
+end
+
+vim.api.nvim_create_user_command("MasonInstall", MasonInstall, {
desc = "Install one or more packages.",
nargs = "+",
complete = "custom,v:lua.mason_completion.available_package_completion",
})
-vim.api.nvim_create_user_command("MasonUninstall", function(opts)
+local function MasonUninstall(opts)
local registry = require "mason-registry"
local valid_packages = filter_valid_packages(opts.fargs)
if #valid_packages > 0 then
_.each(function(package_name)
local pkg = registry.get_package(package_name)
pkg:uninstall()
- end, filter_valid_packages)
+ end, valid_packages)
require("mason.ui").open()
end
-end, {
+end
+
+vim.api.nvim_create_user_command("MasonUninstall", MasonUninstall, {
desc = "Uninstall one or more packages.",
nargs = "+",
complete = "custom,v:lua.mason_completion.installed_package_completion",
})
-vim.api.nvim_create_user_command("MasonUninstallAll", function()
+local function MasonUninstallAll()
local registry = require "mason-registry"
require("mason.ui").open()
for _, pkg in ipairs(registry.get_installed_packages()) do
pkg:uninstall()
end
-end, {
+end
+
+vim.api.nvim_create_user_command("MasonUninstallAll", MasonUninstallAll, {
desc = "Uninstall all packages.",
})
-vim.api.nvim_create_user_command("MasonLog", function()
+local function MasonLog()
local log = require "mason-core.log"
vim.cmd(([[tabnew %s]]):format(log.outfile))
-end, {
+end
+
+vim.api.nvim_create_user_command("MasonLog", MasonLog, {
desc = "Opens the mason.nvim log.",
})
@@ -157,4 +165,10 @@ _G.mason_completion = {
end,
}
-return M
+return {
+ Mason = Mason,
+ MasonInstall = MasonInstall,
+ MasonUninstall = MasonUninstall,
+ MasonUninstallAll = MasonUninstallAll,
+ MasonLog = MasonLog,
+}