1
0
mirror of https://github.com/jdhao/nvim-config.git synced 2025-06-08 14:14:33 +02:00

Update nvim-lspconfig settings

1. Customize document hover window border color.
2. Show also the source that generates a certain diagnostic message.
This commit is contained in:
jdhao 2021-07-17 00:22:33 +08:00
parent 49f5f0155a
commit dc6a510526
2 changed files with 42 additions and 9 deletions

View File

@ -72,6 +72,11 @@ augroup cursor_color
autocmd ColorScheme * highlight Cursor2 guifg=red guibg=red
augroup END
augroup float_border_color
autocmd!
autocmd ColorScheme * highlight FloatBorder guifg=LightGreen guibg=NONE
augroup END
augroup auto_close_win
autocmd!
autocmd BufEnter * call s:quit_current_win()

View File

@ -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"}
}
}
)