fixed highlight

This commit is contained in:
Oliver Hartmann 2022-07-01 21:08:37 +02:00
parent 4bd385dd55
commit d525388f3f

View File

@ -16,13 +16,13 @@ capabilities.textDocument.completion.completionItem.resolveSupport = {
},
}
OpenDiagFloat = function ()
OpenDiagFloat = function()
for _, winid in pairs(vim.api.nvim_tabpage_list_wins(0)) do
if vim.api.nvim_win_get_config(winid).zindex then
return
end
end
vim.diagnostic.open_float({focusable = false})
vim.diagnostic.open_float({ focusable = false })
end
local on_attach = function(client, bufnr)
@ -34,8 +34,8 @@ local on_attach = function(client, bufnr)
vim.api.nvim_buf_set_option(0, 'formatexpr', 'v:lua.vim.lsp.formatexpr()')
-- Mappings.
local opts ={ noremap = true, silent = true, buffer = true }
vim.keymap.set('n', '<space>,', vim.lsp.diagnostic.goto_prev, opts )
local opts = { noremap = true, silent = false, buffer = true }
vim.keymap.set('n', '<space>,', vim.lsp.diagnostic.goto_prev, opts)
vim.keymap.set('n', '<space>;', vim.lsp.diagnostic.goto_next, opts)
vim.keymap.set('n', '<space>a', vim.lsp.buf.code_action, opts)
vim.keymap.set('n', '<space>d', vim.lsp.buf.definition, opts)
@ -50,7 +50,7 @@ local on_attach = function(client, bufnr)
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, opts)
vim.keymap.set('n', '<space>r', tele_builtins.lsp_references, opts)
vim.keymap.set('n', '<A-m>', '<cmd>Telescope aerial<cr>', opts)
vim.keymap.set('n', '<space>v', function () tele_builtins.diagnostics({bufnr = 0}) end, opts)
vim.keymap.set('n', '<space>v', function() tele_builtins.diagnostics({ bufnr = 0 }) end, opts)
vim.keymap.set('n', '<A-o>', '<cmd>ClangdSwitchSourceHeader<CR>', opts)
vim.cmd([[autocmd CursorHold <buffer> lua OpenDiagFloat()]])
@ -64,21 +64,28 @@ local on_attach = function(client, bufnr)
end
-- Set autocommands conditional on server_capabilities
if client.server_capabilities.document_highlight then
if client.server_capabilities.documentHighlightProvider then
vim.api.nvim_exec(
[[
hi LspReferenceRead cterm=bold ctermbg=red guibg=DarkGreen
hi LspReferenceWrite cterm=bold ctermbg=red guibg=DarkRed
augroup lsp_document_highlight
autocmd! * <buffer>
autocmd CursorHold <buffer> lua vim.lsp.buf.document_highlight()
autocmd CursorHoldI <buffer> lua vim.lsp.buf.document_highlight()
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references()
augroup END
]],
false
)
]], false)
vim.api.nvim_create_augroup("lsp_document_highlight", { clear = true })
vim.api.nvim_clear_autocmds { buffer = bufnr, group = "lsp_document_highlight" }
vim.api.nvim_create_autocmd("CursorHold", {
callback = vim.lsp.buf.document_highlight,
buffer = bufnr,
group = "lsp_document_highlight",
desc = "Document Highlight",
})
vim.api.nvim_create_autocmd("CursorMoved", {
callback = vim.lsp.buf.clear_references,
buffer = bufnr,
group = "lsp_document_highlight",
desc = "Clear All the References",
})
end
require('lsp_signature').on_attach({
bind = true, -- This is mandatory, otherwise border config won't get registered.
handler_opts = {