summaryrefslogtreecommitdiff
path: root/lua/lsp
diff options
context:
space:
mode:
authorAbouzar Parvan <[email protected]>2021-10-06 02:07:23 +0330
committerGitHub <[email protected]>2021-10-06 02:07:23 +0330
commit0ad60e90a9b0dd557df10f73bec344e88549a9d7 (patch)
treed1eb9382eae359e8585354870e022cdd32c12f9e /lua/lsp
parent5fe7b7ad4d6fa699ca9cc306a788d6485fc0ba8d (diff)
[Feature] better code action prompt and auto show codelens actions (#1698)
Diffstat (limited to 'lua/lsp')
-rw-r--r--lua/lsp/config.lua1
-rw-r--r--lua/lsp/init.lua20
2 files changed, 21 insertions, 0 deletions
diff --git a/lua/lsp/config.lua b/lua/lsp/config.lua
index 32185b56..f13d9659 100644
--- a/lua/lsp/config.lua
+++ b/lua/lsp/config.lua
@@ -17,6 +17,7 @@ return {
},
override = {},
document_highlight = true,
+ code_lens_refresh = true,
popup_border = "single",
on_attach_callback = nil,
on_init_callback = nil,
diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua
index 284b9dfe..2631c0fc 100644
--- a/lua/lsp/init.lua
+++ b/lua/lsp/init.lua
@@ -21,6 +21,25 @@ local function lsp_highlight_document(client)
end
end
+local function lsp_code_lens_refresh(client)
+ if lvim.lsp.code_lens_refresh == false then
+ return
+ end
+
+ if client.resolved_capabilities.code_lens then
+ vim.api.nvim_exec(
+ [[
+ augroup lsp_code_lens_refresh
+ autocmd! * <buffer>
+ autocmd InsertLeave <buffer> lua vim.lsp.codelens.refresh()
+ autocmd InsertLeave <buffer> lua vim.lsp.codelens.display()
+ augroup END
+ ]],
+ false
+ )
+ end
+end
+
local function add_lsp_buffer_keybindings(bufnr)
local mappings = {
normal_mode = "n",
@@ -99,6 +118,7 @@ function M.common_on_attach(client, bufnr)
Log:debug "Called lsp.on_attach_callback"
end
lsp_highlight_document(client)
+ lsp_code_lens_refresh(client)
add_lsp_buffer_keybindings(bufnr)
end