58 lines
1.4 KiB
Lua
58 lines
1.4 KiB
Lua
local function lspSymbol(name, icon)
|
|
local hl = "DiagnosticSign" .. name
|
|
vim.fn.sign_define(hl, { text = icon, numhl = hl, texthl = hl })
|
|
end
|
|
|
|
lspSymbol("Error", "")
|
|
lspSymbol("Info", "")
|
|
lspSymbol("Hint", "")
|
|
lspSymbol("Warn", "")
|
|
|
|
vim.diagnostic.config {
|
|
virtual_text = {
|
|
prefix = "",
|
|
},
|
|
signs = true,
|
|
underline = true,
|
|
update_in_insert = false,
|
|
}
|
|
|
|
vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, {
|
|
border = "single",
|
|
})
|
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
|
border = "single",
|
|
})
|
|
|
|
-- suppress error messages from lang servers
|
|
vim.notify = function(msg, log_level)
|
|
if msg:match "exit code" then
|
|
return
|
|
end
|
|
if log_level == vim.log.levels.ERROR then
|
|
vim.api.nvim_err_writeln(msg)
|
|
else
|
|
vim.api.nvim_echo({ { msg } }, true, {})
|
|
end
|
|
end
|
|
|
|
-- Borders for LspInfo winodw
|
|
local win = require "lspconfig.ui.windows"
|
|
local _default_opts = win.default_opts
|
|
|
|
win.default_opts = function(options)
|
|
local opts = _default_opts(options)
|
|
opts.border = "single"
|
|
return opts
|
|
end
|
|
|
|
vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, {
|
|
border = "single",
|
|
silent = true,
|
|
focusable = false,
|
|
close_events = { "InsertCharPre", "CursorMoved" },
|
|
anchor = "SW",
|
|
relative = "cursor",
|
|
row = -1,
|
|
})
|