summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristianChiarulli <[email protected]>2021-11-07 13:53:12 -0500
committerChristianChiarulli <[email protected]>2021-11-07 13:53:12 -0500
commit0e531891b1dfd04fa02a22b48ce075120b512277 (patch)
tree363583617e6e7ca9ca6a91bbca600ff56b8f3c6c
parentaa3aa3c629adb9b6ff0ec1e224fe7e6f04ba1768 (diff)
parent5e9b1c817f68d345f1933b13638b5766709a8b6d (diff)
fix: remove duplicate lint messages0.6.1
-rw-r--r--lua/lvim/lsp/handlers.lua13
1 files changed, 12 insertions, 1 deletions
diff --git a/lua/lvim/lsp/handlers.lua b/lua/lvim/lsp/handlers.lua
index ffb7564a..59f15c1c 100644
--- a/lua/lvim/lsp/handlers.lua
+++ b/lua/lvim/lsp/handlers.lua
@@ -125,7 +125,18 @@ function M.show_line_diagnostics()
table.sort(diagnostics, function(a, b)
return a.severity < b.severity
end)
- for i, diagnostic in ipairs(diagnostics) do
+
+ local hash = {}
+ local diagnostics_no_dupes = {}
+ for _, v in ipairs(diagnostics) do
+ if not hash[v["message"]] then
+ diagnostics_no_dupes[#diagnostics_no_dupes + 1] = v -- you could print here instead of saving to result table if you wanted
+ hash[v["message"]] = true
+ end
+ end
+ -- print(vim.inspect(diagnostics_no_dupes))
+
+ for i, diagnostic in ipairs(diagnostics_no_dupes) do
local source = diagnostic.source
diag_message = diagnostic.message:gsub("[\n\r]", " ")
if source then