diff options
author | ChristianChiarulli <[email protected]> | 2021-11-07 13:53:12 -0500 |
---|---|---|
committer | ChristianChiarulli <[email protected]> | 2021-11-07 13:53:12 -0500 |
commit | 0e531891b1dfd04fa02a22b48ce075120b512277 (patch) | |
tree | 363583617e6e7ca9ca6a91bbca600ff56b8f3c6c | |
parent | aa3aa3c629adb9b6ff0ec1e224fe7e6f04ba1768 (diff) | |
parent | 5e9b1c817f68d345f1933b13638b5766709a8b6d (diff) |
fix: remove duplicate lint messages0.6.1
-rw-r--r-- | lua/lvim/lsp/handlers.lua | 13 |
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 |