diff options
| -rw-r--r-- | .vim/init.lua | 3 | ||||
| -rw-r--r-- | .vim/lua/colors.lua | 1 | ||||
| -rw-r--r-- | .vim/lua/lsp.lua | 23 | ||||
| -rw-r--r-- | .vim/lua/plugins.lua | 11 |
4 files changed, 32 insertions, 6 deletions
diff --git a/.vim/init.lua b/.vim/init.lua index 10b71ed..2f37ad2 100644 --- a/.vim/init.lua +++ b/.vim/init.lua @@ -216,6 +216,9 @@ function _G.statusline() -- right sl = sl .. [[ %= ]] -- spacer + local lsp_status = require('lsp-status').status() + sl = sl .. statusline_append(vim.trim(lsp_status), '%#StatusLineLsp#', hi) + local lsp_spinner = require('spinner').status(vim.fn.bufnr()) sl = sl .. statusline_append(lsp_spinner, '%#StatusLineJobs#', hi) diff --git a/.vim/lua/colors.lua b/.vim/lua/colors.lua index 4040930..adf9941 100644 --- a/.vim/lua/colors.lua +++ b/.vim/lua/colors.lua @@ -323,5 +323,6 @@ return lush(function() StatusLineJobs { DiagnosticHint }, StatusLineDiagnostics { StatusLine }, StatusLineLightbulb { fg = hsl(p.bright.yellow) }, + StatusLineLsp { fg = hsl(p.normal.black), bg = hsl(p.normal.white) }, } end) diff --git a/.vim/lua/lsp.lua b/.vim/lua/lsp.lua index 364ec86..eb31b94 100644 --- a/.vim/lua/lsp.lua +++ b/.vim/lua/lsp.lua @@ -1,6 +1,7 @@ local lsp = require('lspconfig') local nnoremap = require('astronauta.keymap').nnoremap -local spinner_lsp= require('spinner.lsp') +-- local spinner_lsp = require('spinner.lsp') +local lspstatus = require('lsp-status') require('lspconfig/configs').zk = { default_config = { @@ -20,7 +21,8 @@ local my_attach = function(client, bufnr) return end - spinner_lsp.on_attach(client, bufnr) + -- spinner_lsp.on_attach(client, bufnr) + lspstatus.on_attach(client, bufnr) if client.resolved_capabilities.goto_definition then vim.keymap.set('n', '<C-]>' , vim.lsp.buf.definition) @@ -65,10 +67,10 @@ local my_attach = function(client, bufnr) end local my_exit = function(code, signal, client_id) - spinner_lsp.on_exit(code, signal, client_id) + -- spinner_lsp.on_exit(code, signal, client_id) end -local setup = function() +local capabilities = function() local caps = vim.lsp.protocol.make_client_capabilities() -- enable lsp-based snippets caps.textDocument.completion.completionItem.snippetSupport = true @@ -79,9 +81,15 @@ local setup = function() 'additionalTextEdits', } } + -- add window/workDoneProgress capability + caps = vim.tbl_extend('keep', caps or {}, lspstatus.capabilities) + return caps +end - spinner_lsp.setup() - spinner_lsp.init_capabilities(caps) +local setup = function() + local caps = capabilities() + -- spinner_lsp.setup() + -- spinner_lsp.init_capabilities(caps) -- handler overwrites -- configure builtin diagnositics @@ -224,7 +232,10 @@ end return { my_attach = my_attach, + my_exit = my_exit, + capabilities = capabilities, setup = setup, + format = function(afile) local doit = true doit = doit and not string.match(afile, "^/home/robert/devel/upstream") diff --git a/.vim/lua/plugins.lua b/.vim/lua/plugins.lua index 9822c82..8b262b9 100644 --- a/.vim/lua/plugins.lua +++ b/.vim/lua/plugins.lua @@ -156,6 +156,17 @@ return require('packer').startup({function() require('lsp').setup() end} -- }}} + use {'nvim-lua/lsp-status.nvim', -- {{{ + config = function() + local lspstatus = require('lsp-status') + lspstatus.config { + diagnostics = false, + current_function = false, + status_symbol = '', + } + lspstatus.register_progress() + end} -- }}} + use {'kosayoda/nvim-lightbulb', -- {{{ -- branch = 'virtual-text-column', config = function() |