using neovim 0.7.0 api for autocmd

fix-keymap-buffer
ray-x 2 years ago
parent bbdf86a66e
commit 89dd02c927

@ -215,17 +215,26 @@ local nav_doc_hl = function()
end) end)
end end
local function documentHighlight() local function documentHighlight(bufnr)
api.nvim_exec( bufnr = bufnr or api.nvim_get_current_buf()
[[
augroup lsp_document_highlight local cmd_group = api.nvim_create_augroup('NGHiGroup', {})
autocmd! * <buffer>
autocmd CursorHold,CursorHoldI <buffer> lua require('navigator.dochighlight').nav_doc_hl() api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
autocmd CursorMoved <buffer> lua vim.lsp.buf.clear_references() group = cmd_group,
augroup END buffer = bufnr,
]], callback = function()
false require('navigator.dochighlight').nav_doc_hl()
) end,
})
api.nvim_create_autocmd({ 'CursorMoved' }, {
group = cmd_group,
buffer = bufnr,
callback = function()
vim.lsp.buf.clear_references()
end,
})
vim.lsp.handlers['textDocument/documentHighlight'] = function(err, result, ctx) vim.lsp.handlers['textDocument/documentHighlight'] = function(err, result, ctx)
local bufnr = ctx.bufnr or api.nvim_get_current_buf() local bufnr = ctx.bufnr or api.nvim_get_current_buf()
if err then if err then

@ -36,7 +36,7 @@ M.on_attach = function(client, bufnr)
}) })
if client.server_capabilities.documentHighlightProvider == true then if client.server_capabilities.documentHighlightProvider == true then
require('navigator.dochighlight').documentHighlight() require('navigator.dochighlight').documentHighlight(bufnr)
end end
require('navigator.lspclient.lspkind').init() require('navigator.lspclient.lspkind').init()

@ -3,6 +3,7 @@ local M = {}
-- local log = require('navigator.util').log -- local log = require('navigator.util').log
local api = vim.api local api = vim.api
local cmd_group = api.nvim_create_augroup('NGHiGroup', {})
-- lsp sign          ﮻         ﯭ        ﳀ   -- lsp sign          ﮻         ﯭ        ﳀ  
function M.diagnositc_config_sign() function M.diagnositc_config_sign()
if M.configed then if M.configed then
@ -48,17 +49,28 @@ function M.add_highlight()
api.nvim_set_hl(0, 'DiagnosticUnderlineInformation', { link = 'SpellRare', default = true }) api.nvim_set_hl(0, 'DiagnosticUnderlineInformation', { link = 'SpellRare', default = true })
api.nvim_set_hl(0, 'DiagnosticUnderlineHint', { link = 'SpellRare', default = true }) api.nvim_set_hl(0, 'DiagnosticUnderlineHint', { link = 'SpellRare', default = true })
api.nvim_set_hl(0, 'NGPreviewTitle', { link = 'Title', default = true }) api.nvim_set_hl(0, 'NGPreviewTitle', { link = 'Title', default = true })
api.nvim_set_hl(0, 'LspReferenceRead', {default = true, bold = true, fg = 'yellow', bg = 'purple4'}) api.nvim_set_hl(0, 'LspReferenceRead', { default = true, bold = true, ctermfg = 'Yellow', underline = true })
api.nvim_set_hl(0, 'LspReferenceText', {default = true, bold = true, fg = 'blue', bg = 'MidnightBlue'}) api.nvim_set_hl(0, 'LspReferenceText', { default = true, bold = true, ctermfg = 'White', underline = true })
api.nvim_set_hl(0, 'LspReferenceWrite', {default = true, bold = true, italic = true, fg = 'red', bg = 'DarkSlateBlue'}) api.nvim_set_hl(
0,
'LspReferenceWrite',
{ default = true, bold = true, italic = true, ctermfg = 'Magenta', underdouble = true }
)
for i = 1, #colors do for i = 1, #colors do
for j = 1, 3 do for j = 1, 3 do
local hlg = string.format('NGHiReference_%i_%i', i, j) -- , colors[i][j], colors[i][4] local hlg = string.format('NGHiReference_%i_%i', i, j) -- , colors[i][j], colors[i][4]
api.nvim_set_hl(0, hlg, {fg = colors[i][j], bg = colors[i][4], default = true}) api.nvim_set_hl(0, hlg, { fg = colors[i][j], bg = colors[i][4], default = true })
end end
end end
end end
api.nvim_create_autocmd('ColorScheme', {
group = cmd_group,
pattern = '*',
callback = function()
M.add_highlight()
end,
})
return M return M

Loading…
Cancel
Save