local function lspSymbol(name, icon) local hl = 'DiagnosticSign' .. name vim.fn.sign_define(hl, { text = icon, numhl = hl, texthl = hl }) end lspSymbol('Error', '') lspSymbol('Warn', '') lspSymbol('Info', '') lspSymbol('Hint', '') local border = { { '╭', 'FloatBorder' }, { '─', 'FloatBorder' }, { '╮', 'FloatBorder' }, { '│', 'FloatBorder' }, { '╯', 'FloatBorder' }, { '─', 'FloatBorder' }, { '╰', 'FloatBorder' }, { '│', 'FloatBorder' }, } local orig_util_open_floating_preview = vim.lsp.util.open_floating_preview function vim.lsp.util.open_floating_preview(contents, syntax, opts, ...) opts = opts or {} opts.border = opts.border or border return orig_util_open_floating_preview(contents, syntax, opts, ...) end -- vim.o.updatetime = 100 -- vim.cmd([[autocmd CursorHold,CursorHoldI,CmdlineEnter * lua vim.diagnostic.open_float(nil, {focus=false})]]) vim.diagnostic.config({ virtual_text = false, virtual_lines = true, severity_sort = true, update_in_insert = false, float = { source = 'always', }, })