feat(diagnostic): allow retrieving current diagnostic config

This commit is contained in:
Gregory Anders 2022-01-11 16:44:31 -07:00
parent 8a27205d09
commit c915571b99
2 changed files with 11 additions and 4 deletions

View File

@ -334,8 +334,9 @@ config({opts}, {namespace}) *vim.diagnostic.config()*
that returns any of the above.
Parameters: ~
{opts} table Configuration table with the following
keys:
{opts} table|nil When omitted or "nil", retrieve the
current configuration. Otherwise, a
configuration table with the following keys:
• underline: (default true) Use underline for
diagnostics. Options:
• severity: Only underline diagnostics

View File

@ -552,7 +552,8 @@ end
--- - `table`: Enable this feature with overrides. Use an empty table to use default values.
--- - `function`: Function with signature (namespace, bufnr) that returns any of the above.
---
---@param opts table Configuration table with the following keys:
---@param opts table|nil When omitted or "nil", retrieve the current configuration. Otherwise, a
--- configuration table with the following keys:
--- - underline: (default true) Use underline for diagnostics. Options:
--- * severity: Only underline diagnostics matching the given severity
--- |diagnostic-severity|
@ -599,7 +600,7 @@ end
--- global diagnostic options.
function M.config(opts, namespace)
vim.validate {
opts = { opts, 't' },
opts = { opts, 't', true },
namespace = { namespace, 'n', true },
}
@ -611,6 +612,11 @@ function M.config(opts, namespace)
t = global_diagnostic_options
end
if not opts then
-- Return current config
return vim.deepcopy(t)
end
for k, v in pairs(opts) do
t[k] = v
end