@@ -41,6 +41,10 @@ local function from_nvim_lsp()
41
41
return buffer_severity
42
42
end
43
43
44
+ local function is_severity_in_range (severity , config )
45
+ return config .max <= severity and severity <= config .min
46
+ end
47
+
44
48
local function from_coc ()
45
49
if vim .g .coc_service_initialized ~= 1 then
46
50
return {}
@@ -51,21 +55,18 @@ local function from_coc()
51
55
return {}
52
56
end
53
57
54
- local buffer_severity = {}
55
58
local diagnostics = {}
56
-
57
59
for _ , diagnostic in ipairs (diagnostic_list ) do
58
60
local bufname = diagnostic .file
59
- local severity = severity_levels [diagnostic .severity ]
61
+ local coc_severity = severity_levels [diagnostic .severity ]
60
62
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 )
64
65
end
65
66
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
69
70
buffer_severity [bufname ] = severity
70
71
end
71
72
end
0 commit comments