diff options
author | Raphael <glephunter@gmail.com> | 2023-01-13 00:57:39 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-12 08:57:39 -0800 |
commit | 572cd8031dd7c91ac9e17cbdfab16d87f1fed6b7 (patch) | |
tree | a7fbcfec93b8d07609cad67d2155513909cb0f34 /runtime/lua/vim/diagnostic.lua | |
parent | a0b2c124a3cba591575ecf6d2dfe91f515c2ebe2 (diff) | |
download | rneovim-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.lua | 36 |
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 |