summary refs log tree commit diff
path: root/.vim/lua/lsp.lua
diff options
context:
space:
mode:
Diffstat (limited to '.vim/lua/lsp.lua')
-rw-r--r--.vim/lua/lsp.lua16
1 files changed, 13 insertions, 3 deletions
diff --git a/.vim/lua/lsp.lua b/.vim/lua/lsp.lua
index 9822e2c..1b189d4 100644
--- a/.vim/lua/lsp.lua
+++ b/.vim/lua/lsp.lua
@@ -63,6 +63,10 @@ local my_attach = function(client, bufnr)
   }
 end
 
+local my_exit = function(code, signal, client_id)
+  spinner_lsp.on_exit(code, signal, client_id)
+end
+
 local setup = function()
   local caps = vim.lsp.protocol.make_client_capabilities()
   -- enable lsp-based snippets
@@ -93,12 +97,12 @@ local setup = function()
   -- overwrite codeAction handler to not ask for confirmation if only a single
   -- action is given
   vim.lsp.handlers['textDocument/codeAction'] = function(_, _, actions) -- {{{
-    if actions == nil or vim.tbl_isempty(actions) then
+    if actions == nil or #actions == 0 then
       -- skip printing 'no code actions available'
       return
     end
 
-    local action_cosen
+    local action_chosen
     if #actions == 1 then
       action_chosen = actions[1]
     else
@@ -138,11 +142,13 @@ local setup = function()
 
   -- lsp.ccls.setup {
   --  on_attach = my_attach,
+  --  on_exit = my_exit,
   --  capabilities = caps,
   -- }
 
   lsp.gopls.setup {
     on_attach = my_attach,
+    on_exit = my_exit,
     capabilities = caps,
     settings = {
       gopls = {
@@ -160,6 +166,7 @@ local setup = function()
 
   lsp.sumneko_lua.setup {
     on_attach = my_attach,
+    on_exit = my_exit,
     capabilities = caps,
     cmd = { 'lua-language-server' };
     settings = {
@@ -182,17 +189,20 @@ local setup = function()
 
   lsp.rust_analyzer.setup {
     on_attach = my_attach,
+    on_exit = my_exit,
     capabilities = caps,
-    cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'rust-analyzer' },
+    cmd = { 'env', 'CARGO_TARGET_DIR=/tmp', 'RUST_SRC_PATH=/usr/src/rustlib/library', 'rust-analyzer' },
   }
 
   lsp.zls.setup {
     on_attach = my_attach,
+    on_exit = my_exit,
     capabilities = caps,
   }
 
   lsp.zk.setup {
     on_attach = my_attach,
+    on_exit = my_exit,
     capabilities = caps,
     root_dir = lsp.util.root_pattern('.zk/'),
   }