local M = {} function M.setup() -- Signs local signs = { Error = "", Warn = "", Hint = "", Info = "" } for type, icon in pairs(signs) do local hl = "DiagnosticSign" .. type vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) end -- Floating window borders 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 end function M.on_attach(client, bufnr) -- Highlight references -- if client.server_capabilities.documentHighlightProvider then -- vim.api.nvim_create_augroup("lsp_document_highlight", { -- clear = false, -- }) -- vim.api.nvim_clear_autocmds({ -- group = "lsp_document_highlight", -- buffer = bufnr, -- }) -- -- vim.api.nvim_create_autocmd({ "CursorHold", "CursorHoldI" }, { -- -- group = "lsp_document_highlight", -- -- buffer = bufnr, -- -- callback = vim.lsp.buf.document_highlight, -- -- }) -- -- vim.api.nvim_create_autocmd("CursorMoved", { -- -- group = "lsp_document_highlight", -- -- buffer = bufnr, -- -- callback = vim.lsp.buf.clear_references, -- -- }) -- end end return M