diff options
| -rw-r--r-- | lua/core/telescope.lua | 20 | ||||
| -rw-r--r-- | lua/core/which-key.lua | 3 | ||||
| -rw-r--r-- | lua/lsp/config.lua | 1 | ||||
| -rw-r--r-- | lua/lsp/init.lua | 20 | 
4 files changed, 43 insertions, 1 deletions
| diff --git a/lua/core/telescope.lua b/lua/core/telescope.lua index eba27eec..0fb735fa 100644 --- a/lua/core/telescope.lua +++ b/lua/core/telescope.lua @@ -159,6 +159,26 @@ function M.view_lunarvim_changelog()    }):find()  end +function M.code_actions() +  local opts = { +    winblend = 15, +    layout_config = { +      prompt_position = "top", +      width = 80, +      height = 12, +    }, +    borderchars = { +      prompt = { "─", "│", " ", "│", "â•", "â•®", "│", "│" }, +      results = { "─", "│", "─", "│", "├", "┤", "╯", "â•°" }, +      preview = { "─", "│", "─", "│", "â•", "â•®", "╯", "â•°" }, +    }, +    border = {}, +    previewer = false, +    shorten_path = false, +  } +  require("telescope.builtin").lsp_code_actions(require("telescope.themes").get_dropdown(opts)) +end +  function M.setup()    local telescope = require "telescope" diff --git a/lua/core/which-key.lua b/lua/core/which-key.lua index a115bcc5..c9e9b2f4 100644 --- a/lua/core/which-key.lua +++ b/lua/core/which-key.lua @@ -139,7 +139,7 @@ M.config = function()        l = {          name = "LSP", -        a = { "<cmd>lua vim.lsp.buf.code_action()<cr>", "Code Action" }, +        a = { "<cmd>lua require('core.telescope').code_actions()<cr>", "Code Action" },          d = {            "<cmd>Telescope lsp_document_diagnostics<cr>",            "Document Diagnostics", @@ -159,6 +159,7 @@ M.config = function()            "<cmd>lua vim.lsp.diagnostic.goto_prev({popup_opts = {border = lvim.lsp.popup_border}})<cr>",            "Prev Diagnostic",          }, +        l = { "<cmd>lua vim.lsp.codelens.run()<cr>", "CodeLens Action" },          p = {            name = "Peek",            d = { "<cmd>lua require('lsp.peek').Peek('definition')<cr>", "Definition" }, 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 | 
