Skip to content

Commit b728115

Browse files
authored
feat(ui): display package deprecation message (#1391)
1 parent de5959d commit b728115

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lua/mason-core/package/init.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ local PackageMt = { __index = Package }
6666
---@class RegistryPackageSchemas
6767
---@field lsp string?
6868

69+
---@class RegistryPackageDeprecation
70+
---@field since string
71+
---@field message string
72+
6973
---@class RegistryPackageSpec
7074
---@field schema '"registry+v1"'
7175
---@field name string
@@ -75,6 +79,7 @@ local PackageMt = { __index = Package }
7579
---@field languages string[]
7680
---@field categories string[]
7781
---@field source RegistryPackageSource
82+
---@field deprecation RegistryPackageDeprecation?
7883
---@field schemas RegistryPackageSchemas?
7984
---@field bin table<string, string>?
8085
---@field share table<string, string>?

lua/mason/ui/components/main/package_list.lua

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,14 +141,18 @@ local function PackageComponent(state, pkg, opts)
141141
return Ui.Node {
142142
Ui.HlTextNode { package_line },
143143
opts.sticky or Ui.Node {},
144+
pkg.spec.deprecation and Ui.DiagnosticsNode {
145+
message = ("deprecated: %s"):format(pkg.spec.deprecation.message),
146+
severity = vim.diagnostic.severity.WARN,
147+
source = ("Deprecated since version %s"):format(pkg.spec.deprecation.since),
148+
} or Ui.Node {},
144149
Ui.When(pkg_state.is_checking_new_version, function()
145150
return Ui.VirtualTextNode { p.Comment " checking for new version…" }
146151
end),
147152
Ui.Keybind(settings.current.ui.keymaps.check_package_version, "CHECK_NEW_PACKAGE_VERSION", pkg),
148153
Ui.When(pkg_state.new_version ~= nil, function()
149154
return Ui.DiagnosticsNode {
150-
message = ("new version available: %s %s -> %s"):format(
151-
pkg_state.new_version.name,
155+
message = ("new version available: %s -> %s"):format(
152156
pkg_state.new_version.current_version,
153157
pkg_state.new_version.latest_version
154158
),

0 commit comments

Comments
 (0)