allow more trigger events for codelens

pull/186/head
ray-x 2 years ago
parent 144eb6fb2a
commit 7aed764507

@ -1,26 +1,31 @@
local utils = require("go.utils")
local codelens = require("vim.lsp.codelens")
local utils = require('go.utils')
local codelens = require('vim.lsp.codelens')
local M = {}
function M.setup()
vim.cmd("highlight default link LspCodeLens WarningMsg")
vim.cmd("highlight default link LspCodeLensText WarningMsg")
vim.cmd("highlight default link LspCodeLensTextSign LspCodeLensText")
vim.cmd("highlight default link LspCodeLensTextSeparator Boolean")
vim.cmd("augroup go.codelenses")
vim.cmd(" autocmd!")
vim.cmd('autocmd BufEnter,CursorHold,InsertLeave <buffer> lua require("go.codelens").refresh()')
vim.cmd("augroup end")
utils.log('enable codelens')
vim.cmd('highlight default link LspCodeLens WarningMsg')
vim.cmd('highlight default link LspCodeLensText WarningMsg')
vim.cmd('highlight default link LspCodeLensTextSign LspCodeLensText')
vim.cmd('highlight default link LspCodeLensTextSeparator Boolean')
local group = vim.api.nvim_create_augroup('gonvim__codelenses', {})
vim.api.nvim_create_autocmd({ 'BufEnter', 'CursorHold', 'CursorHoldI', 'InsertLeave' }, {
group = vim.api.nvim_create_augroup('gonvim__codelenses', {}),
pattern = '*.go',
callback = function()
require('go.codelens').refresh()
end,
})
end
function M.run_action()
local guihua = utils.load_plugin("guihua.lua", "guihua.gui")
local guihua = utils.load_plugin('guihua.lua', 'guihua.gui')
local original_select = vim.ui.select
if guihua then
vim.ui.select = require("guihua.gui").select
vim.ui.select = require('guihua.gui').select
end
codelens.run()
@ -30,10 +35,9 @@ function M.run_action()
end
function M.refresh()
if _GO_NVIM_CFG.lsp_codelens == false or not require("go.lsp").codelens_enabled() then
return
if _GO_NVIM_CFG.lsp_codelens ~= false then
vim.lsp.codelens.refresh()
end
vim.lsp.codelens.refresh()
end
return M

@ -5,6 +5,7 @@ local vim = vim
local api = vim.api
local utils = require("go.utils")
local log = utils.log
local trace = utils.trace
local config
-- Update inlay hints when opening a new buffer and when writing a buffer to a
@ -128,7 +129,7 @@ local function get_max_len(bufnr, parsed_data)
end
local function handler(err, result, ctx)
log(result, ctx)
trace(result, ctx)
if err then
return
end
@ -150,7 +151,7 @@ end
M.disable_inlay_hints()
local parsed = parseHints(result)
log(parsed)
trace(parsed)
for key, value in pairs(parsed) do
local virt_text = ""
@ -166,7 +167,7 @@ end
-- segregate paramter hints and other hints
for _, value_inner in ipairs(value) do
log(value_inner)
trace(value_inner)
if value_inner.kind == 2 then
table.insert(param_hints, unpack_label(value_inner.label))
end
@ -175,7 +176,7 @@ end
table.insert(other_hints, value_inner)
end
end
log(config, param_hints)
trace(config, param_hints)
-- show parameter hints inside brackets with commas and a thin arrow
if not vim.tbl_isempty(param_hints) and config.show_parameter_hints then
@ -187,7 +188,7 @@ end
end
end
virt_text = virt_text .. ") "
log(virt_text)
trace(virt_text)
end
-- show other hints with commas and a thicc arrow
@ -197,11 +198,11 @@ end
if value_inner_inner.kind == 2 and config.show_variable_name then
local char_start = value_inner_inner.range.start.character
local char_end = value_inner_inner.range["end"].character
log(current_line, char_start, char_end)
trace(current_line, char_start, char_end)
local variable_name = string.sub(current_line, char_start + 1, char_end)
virt_text = virt_text .. variable_name .. ": " .. value_inner_inner.label
else
log(value_inner_inner.label)
trace(value_inner_inner.label)
local label = unpack_label(value_inner_inner.label)
if string.sub(label, 1, 2) == ": " then
virt_text = virt_text .. label:sub(3)

@ -34,7 +34,7 @@ describe('should run func make', function()
},
}
local gosetup = require('go.lsp').config()
print(vim.inspect(gosetup))
-- print(vim.inspect(gosetup))
eq(gosetup.settings.gopls.analyses, {
ST1003 = false,
fieldalignment = true,

Loading…
Cancel
Save