Explorar o código

fix: remove duplicate lint messages

ChristianChiarulli %!s(int64=3) %!d(string=hai) anos
pai
achega
0e531891b1
Modificáronse 1 ficheiros con 12 adicións e 1 borrados
  1. 12 1
      lua/lvim/lsp/handlers.lua

+ 12 - 1
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