refactor(diagnostic)!: remove deprecated diagnostic APIs (#33072)

This commit is contained in:
Gregory Anders
2025-03-26 13:56:23 -05:00
committed by GitHub
parent c5f3b4ca02
commit 9acb52c8f3
3 changed files with 16 additions and 214 deletions

View File

@@ -1456,47 +1456,6 @@ M.handlers.signs = {
api.nvim_create_namespace(string.format('nvim.%s.diagnostic.signs', ns.name))
end
-- Handle legacy diagnostic sign definitions
-- These were deprecated in 0.10 and will be removed in 0.12
if opts.signs and not opts.signs.text and not opts.signs.numhl then
for _, v in ipairs({ 'Error', 'Warn', 'Info', 'Hint' }) do
local name = string.format('DiagnosticSign%s', v)
local sign = vim.fn.sign_getdefined(name)[1]
if sign then
local severity = M.severity[v:upper()]
vim.deprecate(
'Defining diagnostic signs with :sign-define or sign_define()',
'vim.diagnostic.config()',
'0.12'
)
if not opts.signs.text then
opts.signs.text = {}
end
if not opts.signs.numhl then
opts.signs.numhl = {}
end
if not opts.signs.linehl then
opts.signs.linehl = {}
end
if opts.signs.text[severity] == nil then
opts.signs.text[severity] = sign.text or ''
end
if opts.signs.numhl[severity] == nil then
opts.signs.numhl[severity] = sign.numhl
end
if opts.signs.linehl[severity] == nil then
opts.signs.linehl[severity] = sign.linehl
end
end
end
end
local text = {} ---@type table<vim.diagnostic.Severity|string, string>
for k in pairs(M.severity) do
if opts.signs.text and opts.signs.text[k] then
@@ -2058,12 +2017,6 @@ function M.is_enabled(filter)
return diagnostic_disabled[bufnr] == nil
end
--- @deprecated use `vim.diagnostic.is_enabled()`
function M.is_disabled(bufnr, namespace)
vim.deprecate('vim.diagnostic.is_disabled()', 'vim.diagnostic.is_enabled()', '0.12')
return not M.is_enabled { bufnr = bufnr or 0, ns_id = namespace }
end
--- Display diagnostics for the given namespace and buffer.
---
---@param namespace integer? Diagnostic namespace. When omitted, show
@@ -2441,12 +2394,6 @@ function M.setloclist(opts)
set_list(true, opts)
end
--- @deprecated use `vim.diagnostic.enable(false, …)`
function M.disable(bufnr, namespace)
vim.deprecate('vim.diagnostic.disable()', 'vim.diagnostic.enable(false, …)', '0.12')
M.enable(false, { bufnr = bufnr, ns_id = namespace })
end
--- Enables or disables diagnostics.
---
--- To "toggle", pass the inverse of `is_enabled()`:
@@ -2458,31 +2405,9 @@ end
--- @param enable (boolean|nil) true/nil to enable, false to disable
--- @param filter vim.diagnostic.Filter?
function M.enable(enable, filter)
-- Deprecated signature. Drop this in 0.12
local legacy = (enable or filter)
and vim.tbl_contains({ 'number', 'nil' }, type(enable))
and vim.tbl_contains({ 'number', 'nil' }, type(filter))
if legacy then
vim.deprecate(
'vim.diagnostic.enable(buf:number, namespace:number)',
'vim.diagnostic.enable(enable:boolean, filter:table)',
'0.12'
)
vim.validate('enable', enable, 'number', true) -- Legacy `bufnr` arg.
vim.validate('filter', filter, 'number', true) -- Legacy `namespace` arg.
local ns_id = type(filter) == 'number' and filter or nil
filter = {}
filter.ns_id = ns_id
filter.bufnr = type(enable) == 'number' and enable or nil
enable = true
else
filter = filter or {}
vim.validate('enable', enable, 'boolean', true)
vim.validate('filter', filter, 'table', true)
end
filter = filter or {}
vim.validate('enable', enable, 'boolean', true)
vim.validate('filter', filter, 'table', true)
enable = enable == nil and true or enable
local bufnr = filter.bufnr