diff options
Diffstat (limited to 'lua/lvim')
| -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 | 
