summary refs log tree commit diff
path: root/.vim/lua
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-02-08 23:41:11 +0100
committerRobert Günzler <r@gnzler.io>2022-02-08 23:41:11 +0100
commit15b5484ef71281fcb3e643b120dfc89b1b78491c (patch)
treef098b9f0bda9911dd9dd37cef75e4c43bace968e /.vim/lua
parent70c3e6eac77feba1cff85c90edea96bd96b5afe9 (diff)
vim: replace spinner with lsp-status
Diffstat (limited to '.vim/lua')
-rw-r--r--.vim/lua/colors.lua1
-rw-r--r--.vim/lua/lsp.lua23
-rw-r--r--.vim/lua/plugins.lua11
3 files changed, 29 insertions, 6 deletions
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()