aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/diagnostic.lua
diff options
context:
space:
mode:
authorRaphael <glephunter@gmail.com>2023-01-13 00:57:39 +0800
committerGitHub <noreply@github.com>2023-01-12 08:57:39 -0800
commit572cd8031dd7c91ac9e17cbdfab16d87f1fed6b7 (patch)
treea7fbcfec93b8d07609cad67d2155513909cb0f34 /runtime/lua/vim/diagnostic.lua
parenta0b2c124a3cba591575ecf6d2dfe91f515c2ebe2 (diff)
downloadrneovim-572cd8031dd7c91ac9e17cbdfab16d87f1fed6b7.tar.gz
rneovim-572cd8031dd7c91ac9e17cbdfab16d87f1fed6b7.tar.bz2
rneovim-572cd8031dd7c91ac9e17cbdfab16d87f1fed6b7.zip
feat(diagnostic): vim.diagnostic.is_disabled() #21527
Diffstat (limited to 'runtime/lua/vim/diagnostic.lua')
-rw-r--r--runtime/lua/vim/diagnostic.lua36
1 files changed, 22 insertions, 14 deletions
diff --git a/runtime/lua/vim/diagnostic.lua b/runtime/lua/vim/diagnostic.lua
index f41f4a9c68..6fd000a029 100644
--- a/runtime/lua/vim/diagnostic.lua
+++ b/runtime/lua/vim/diagnostic.lua
@@ -252,19 +252,6 @@ local function get_bufnr(bufnr)
end
---@private
-local function is_disabled(namespace, bufnr)
- local ns = M.get_namespace(namespace)
- if ns.disabled then
- return true
- end
-
- if type(diagnostic_disabled[bufnr]) == 'table' then
- return diagnostic_disabled[bufnr][namespace]
- end
- return diagnostic_disabled[bufnr]
-end
-
----@private
local function diagnostic_lines(diagnostics)
if not diagnostics then
return {}
@@ -1119,6 +1106,27 @@ function M.hide(namespace, bufnr)
end
end
+--- Check whether diagnostics are disabled in a given buffer.
+---
+---@param bufnr number|nil Buffer number, or 0 for current buffer.
+---@param namespace number|nil Diagnostic namespace. When omitted, checks if
+--- all diagnostics are disabled in {bufnr}.
+--- Otherwise, only checks if diagnostics from
+--- {namespace} are disabled.
+---@return boolean
+function M.is_disabled(bufnr, namespace)
+ bufnr = get_bufnr(bufnr)
+ if namespace and M.get_namespace(namespace).disabled then
+ return true
+ end
+
+ if type(diagnostic_disabled[bufnr]) == 'table' then
+ return diagnostic_disabled[bufnr][namespace]
+ end
+
+ return diagnostic_disabled[bufnr] ~= nil
+end
+
--- Display diagnostics for the given namespace and buffer.
---
---@param namespace number|nil Diagnostic namespace. When omitted, show
@@ -1162,7 +1170,7 @@ function M.show(namespace, bufnr, diagnostics, opts)
return
end
- if is_disabled(namespace, bufnr) then
+ if M.is_disabled(bufnr, namespace) then
return
end