54 lines
1.8 KiB
Lua
54 lines
1.8 KiB
Lua
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
|