Skip to content

Commit 874b7be

Browse files
authored
fix(diagnostics): coc obey diagnostics.severity (#2072)
`diagnostics.severity` option do not work with coc
1 parent 31d8e24 commit 874b7be

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

lua/nvim-tree/diagnostics.lua

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ local function from_nvim_lsp()
4141
return buffer_severity
4242
end
4343

44+
local function is_severity_in_range(severity, config)
45+
return config.max <= severity and severity <= config.min
46+
end
47+
4448
local function from_coc()
4549
if vim.g.coc_service_initialized ~= 1 then
4650
return {}
@@ -51,21 +55,18 @@ local function from_coc()
5155
return {}
5256
end
5357

54-
local buffer_severity = {}
5558
local diagnostics = {}
56-
5759
for _, diagnostic in ipairs(diagnostic_list) do
5860
local bufname = diagnostic.file
59-
local severity = severity_levels[diagnostic.severity]
61+
local coc_severity = severity_levels[diagnostic.severity]
6062

61-
local severity_list = diagnostics[bufname] or {}
62-
table.insert(severity_list, severity)
63-
diagnostics[bufname] = severity_list
63+
local serverity = diagnostics[bufname] or vim.diagnostic.severity.HINT
64+
diagnostics[bufname] = math.min(coc_severity, serverity)
6465
end
6566

66-
for bufname, severity_list in pairs(diagnostics) do
67-
if not buffer_severity[bufname] then
68-
local severity = math.min(unpack(severity_list))
67+
local buffer_severity = {}
68+
for bufname, severity in pairs(diagnostics) do
69+
if is_severity_in_range(severity, M.severity) then
6970
buffer_severity[bufname] = severity
7071
end
7172
end

0 commit comments

Comments
 (0)