aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2023-07-04 12:08:12 +0200
committerGitHub <noreply@github.com>2023-07-04 12:08:12 +0200
commitb7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2 (patch)
tree9b733076000d9c07d7212cd2926cd5ebfe36ff72 /lua
parentchore(main): release 1.5.1 (#1381) (diff)
downloadmason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar.gz
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar.bz2
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar.lz
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar.xz
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.tar.zst
mason-b7281153cd9167d2b1a5d8cbda1ba8d4ad9fa8c2.zip
feat(ui): display package deprecation message (#1391)
Diffstat (limited to 'lua')
-rw-r--r--lua/mason-core/package/init.lua5
-rw-r--r--lua/mason/ui/components/main/package_list.lua8
2 files changed, 11 insertions, 2 deletions
diff --git a/lua/mason-core/package/init.lua b/lua/mason-core/package/init.lua
index e0a361ca..57f4868d 100644
--- a/lua/mason-core/package/init.lua
+++ b/lua/mason-core/package/init.lua
@@ -66,6 +66,10 @@ local PackageMt = { __index = Package }
---@class RegistryPackageSchemas
---@field lsp string?
+---@class RegistryPackageDeprecation
+---@field since string
+---@field message string
+
---@class RegistryPackageSpec
---@field schema '"registry+v1"'
---@field name string
@@ -75,6 +79,7 @@ local PackageMt = { __index = Package }
---@field languages string[]
---@field categories string[]
---@field source RegistryPackageSource
+---@field deprecation RegistryPackageDeprecation?
---@field schemas RegistryPackageSchemas?
---@field bin table<string, string>?
---@field share table<string, string>?
diff --git a/lua/mason/ui/components/main/package_list.lua b/lua/mason/ui/components/main/package_list.lua
index dc8b7428..a92980f3 100644
--- a/lua/mason/ui/components/main/package_list.lua
+++ b/lua/mason/ui/components/main/package_list.lua
@@ -141,14 +141,18 @@ local function PackageComponent(state, pkg, opts)
return Ui.Node {
Ui.HlTextNode { package_line },
opts.sticky or Ui.Node {},
+ pkg.spec.deprecation and Ui.DiagnosticsNode {
+ message = ("deprecated: %s"):format(pkg.spec.deprecation.message),
+ severity = vim.diagnostic.severity.WARN,
+ source = ("Deprecated since version %s"):format(pkg.spec.deprecation.since),
+ } or Ui.Node {},
Ui.When(pkg_state.is_checking_new_version, function()
return Ui.VirtualTextNode { p.Comment " checking for new version…" }
end),
Ui.Keybind(settings.current.ui.keymaps.check_package_version, "CHECK_NEW_PACKAGE_VERSION", pkg),
Ui.When(pkg_state.new_version ~= nil, function()
return Ui.DiagnosticsNode {
- message = ("new version available: %s %s -> %s"):format(
- pkg_state.new_version.name,
+ message = ("new version available: %s -> %s"):format(
pkg_state.new_version.current_version,
pkg_state.new_version.latest_version
),