diff options
| author | jdhao <jdhao@hotmail.com> | 2021-07-17 00:22:33 +0800 |
|---|---|---|
| committer | jdhao <jdhao@hotmail.com> | 2021-07-17 00:22:33 +0800 |
| commit | dc6a510526c3e3e38f4eb23149e0ec89cd03118a (patch) | |
| tree | 280954b43e09a308c98abe552f1f770b614d6949 /lua/config/lsp.lua | |
| parent | 49f5f0155a58e50d82db6625fbfd9aa603c7bd01 (diff) | |
Update nvim-lspconfig settings
1. Customize document hover window border color.
2. Show also the source that generates a certain diagnostic message.
Diffstat (limited to 'lua/config/lsp.lua')
| -rw-r--r-- | lua/config/lsp.lua | 46 |
1 files changed, 37 insertions, 9 deletions
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index 3271fd4..028ec8e 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -112,20 +112,48 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( } ) +-- Refs: https://github.com/neovim/nvim-lspconfig/wiki/UI-customization#show-source-in-diagnostics +vim.lsp.handlers["textDocument/publishDiagnostics"] = + function(_, _, params, client_id, _) + local uri = params.uri + local bufnr = vim.uri_to_bufnr(uri) + + if not bufnr then + return + end + + if not vim.api.nvim_buf_is_loaded(bufnr) then + return + end + + local diagnostics = params.diagnostics + for i, v in ipairs(diagnostics) do + diagnostics[i].message = string.format("%s: %s", v.source, v.message) + end + vim.lsp.diagnostic.save(diagnostics, bufnr, client_id) + + local config = { + underline = false, + virtual_text = false, + signs = true, + update_in_insert = false, + } + vim.lsp.diagnostic.display(diagnostics, bufnr, client_id, config) + end + -- The following settings works with the bleeding edge neovim. -- See https://github.com/neovim/neovim/pull/13998. vim.lsp.handlers["textDocument/hover"] = vim.lsp.with( vim.lsp.handlers.hover, { border = { - {"┌", "Normal"}, - {"─", "Normal"}, - {"┐", "Normal"}, - {"│", "Normal"}, - {"┘", "Normal"}, - {"─", "Normal"}, - {"└", "Normal"}, - {"│", "Normal"} + {"┌", "FloatBorder"}, + {"─", "FloatBorder"}, + {"┐", "FloatBorder"}, + {"│", "FloatBorder"}, + {"┘", "FloatBorder"}, + {"─", "FloatBorder"}, + {"└", "FloatBorder"}, + {"│", "FloatBorder"} } } ) - |
