summaryrefslogtreecommitdiff
path: root/lua/lvim/lsp/handlers.lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua/lvim/lsp/handlers.lua')
-rw-r--r--lua/lvim/lsp/handlers.lua50
1 files changed, 35 insertions, 15 deletions
diff --git a/lua/lvim/lsp/handlers.lua b/lua/lvim/lsp/handlers.lua
index bdd09e4a..f26bca1f 100644
--- a/lua/lvim/lsp/handlers.lua
+++ b/lua/lvim/lsp/handlers.lua
@@ -2,22 +2,42 @@
-- Note: You can set a prefix per lsp server in the lv-globals.lua file
local M = {}
-function M.setup()
- local config = { -- your config
- virtual_text = lvim.lsp.diagnostics.virtual_text,
- signs = lvim.lsp.diagnostics.signs,
- underline = lvim.lsp.diagnostics.underline,
- update_in_insert = lvim.lsp.diagnostics.update_in_insert,
- severity_sort = lvim.lsp.diagnostics.severity_sort,
- float = lvim.lsp.diagnostics.float,
- }
- vim.diagnostic.config(config)
+local default_diagnostic_config = {
+ signs = {
+ active = true,
+ values = {
+ { name = "DiagnosticSignError", text = lvim.icons.diagnostics.Error },
+ { name = "DiagnosticSignWarn", text = lvim.icons.diagnostics.Warning },
+ { name = "DiagnosticSignHint", text = lvim.icons.diagnostics.Hint },
+ { name = "DiagnosticSignInfo", text = lvim.icons.diagnostics.Information },
+ },
+ },
+ virtual_text = true,
+ update_in_insert = false,
+ underline = true,
+ severity_sort = true,
+ float = {
+ focusable = true,
+ style = "minimal",
+ border = "rounded",
+ source = "always",
+ header = "",
+ prefix = "",
+ format = function(d)
+ local code = d.code or (d.user_data and d.user_data.lsp.code)
+ if code then
+ return string.format("%s [%s]", d.message, code):gsub("1. ", "")
+ end
+ return d.message
+ end,
+ },
+}
- if lvim.lsp.handlers.override_config then
- vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, lvim.lsp.handlers.override_config)
- vim.lsp.handlers["textDocument/signatureHelp"] =
- vim.lsp.with(vim.lsp.handlers.signature_help, lvim.lsp.handlers.override_config)
- end
+function M.load_defaults()
+ vim.diagnostic.config(default_diagnostic_config)
+
+ vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, lvim.lsp.handlers)
+ vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, lvim.lsp.handlers)
end
return M