aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-11-29 19:54:12 +0100
committerGitHub <noreply@github.com>2022-11-29 19:54:12 +0100
commit23bb2dba52c5351f4c8f97712abee4d2d65a97cf (patch)
tree20b5e2d7259d8e0ef6c126e16b3957ae225e7bb0
parentchore: use pwsh instead of powershell (#706) (diff)
downloadmason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar.gz
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar.bz2
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar.lz
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar.xz
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.tar.zst
mason-23bb2dba52c5351f4c8f97712abee4d2d65a97cf.zip
feat(ui): add keybind on section headers for cancelling installation of the entire group (#707)
-rw-r--r--lua/mason/ui/components/main/package_list.lua9
-rw-r--r--lua/mason/ui/instance.lua36
2 files changed, 27 insertions, 18 deletions
diff --git a/lua/mason/ui/components/main/package_list.lua b/lua/mason/ui/components/main/package_list.lua
index 3a99558f..5b4600cf 100644
--- a/lua/mason/ui/components/main/package_list.lua
+++ b/lua/mason/ui/components/main/package_list.lua
@@ -197,6 +197,7 @@ local function Installing(state)
heading = Ui.Node {
Ui.HlTextNode(p.heading "Installing"),
Ui.StickyCursor { id = "installing-section" },
+ Ui.Keybind(settings.current.ui.keymaps.cancel_installation, "TERMINATE_PACKAGE_HANDLES", packages),
},
hide_when_empty = true,
packages = packages,
@@ -231,7 +232,11 @@ local function Queued(state)
local packages = state.packages.queued
return PackageListContainer {
state = state,
- heading = Ui.HlTextNode(p.heading "Queued"),
+ heading = Ui.Node {
+ Ui.HlTextNode(p.heading "Queued"),
+ Ui.StickyCursor { id = "queued-section" },
+ Ui.Keybind(settings.current.ui.keymaps.cancel_installation, "TERMINATE_PACKAGE_HANDLES", packages),
+ },
packages = packages,
hide_when_empty = true,
---@param pkg Package
@@ -241,7 +246,7 @@ local function Queued(state)
{ p.highlight(settings.current.ui.icons.package_pending), p.none(" " .. pkg.name) },
},
Ui.StickyCursor { id = ("%s-installing"):format(pkg.spec.name) },
- Ui.Keybind(settings.current.ui.keymaps.cancel_installation, "DEQUEUE_PACKAGE", pkg),
+ Ui.Keybind(settings.current.ui.keymaps.cancel_installation, "TERMINATE_PACKAGE_HANDLE", pkg),
}
end,
}
diff --git a/lua/mason/ui/instance.lua b/lua/mason/ui/instance.lua
index d338f8a2..4b2f43e4 100644
--- a/lua/mason/ui/instance.lua
+++ b/lua/mason/ui/instance.lua
@@ -351,15 +351,32 @@ end
local function terminate_package_handle(event)
---@type Package
local pkg = event.payload
+ vim.schedule_wrap(notify)(("Cancelling installation of %q."):format(pkg.name))