.config/nvim/lua/config/lsp.lua

changeset 1031
ceb2e56c6e8f
parent 1030
03d507b3c122
child 1032
b0497894f69b
equal deleted inserted replaced
1030:03d507b3c122 1031:ceb2e56c6e8f
19 vim.api.nvim_create_autocmd("LspAttach", { 19 vim.api.nvim_create_autocmd("LspAttach", {
20 group = "lsp_attach", 20 group = "lsp_attach",
21 callback = function(args) 21 callback = function(args)
22 local bufnr = args.buf 22 local bufnr = args.buf
23 local client = vim.lsp.get_client_by_id(args.data.client_id) 23 local client = vim.lsp.get_client_by_id(args.data.client_id)
24
25 -- Enable highlight-under-cursor
26 if client.server_capabilities.documentHighlightProvider then
27 vim.cmd [[
28 hi! LspReferenceRead ctermfg=0 ctermbg=11 guifg=#f0a0c0 guibg=#302028
29 hi! LspReferenceText ctermfg=0 ctermbg=11 guifg=#f0a0c0 guibg=#302028
30 hi! LspReferenceWrite ctermfg=0 ctermbg=11 cterm=underline guifg=#f0a0c0 guibg=#302028 gui=underline
31 ]]
32 vim.api.nvim_create_augroup('lsp_document_highlight', {
33 clear = false
34 })
35 vim.api.nvim_clear_autocmds({
36 buffer = bufnr,
37 group = 'lsp_document_highlight',
38 })
39 vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
40 group = 'lsp_document_highlight',
41 buffer = bufnr,
42 callback = vim.lsp.buf.document_highlight,
43 })
44 vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
45 group = 'lsp_document_highlight',
46 buffer = bufnr,
47 callback = vim.lsp.buf.clear_references,
48 })
49 end
50 24
51 -- enable auto diags in message area for below threshold 25 -- enable auto diags in message area for below threshold
52 vim.api.nvim_create_augroup('lsp_diags', {clear = false}) 26 vim.api.nvim_create_augroup('lsp_diags', {clear = false})
53 27
54 vim.api.nvim_create_autocmd({"CursorHold", "CursorHoldI"}, { 28 vim.api.nvim_create_autocmd({"CursorHold", "CursorHoldI"}, {

mercurial