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', }, })