aboutsummaryrefslogtreecommitdiffstats
path: root/plugin/lsp.vim
diff options
context:
space:
mode:
Diffstat (limited to 'plugin/lsp.vim')
-rw-r--r--plugin/lsp.vim20
1 files changed, 16 insertions, 4 deletions
diff --git a/plugin/lsp.vim b/plugin/lsp.vim
index 02b57a1..00f9103 100644
--- a/plugin/lsp.vim
+++ b/plugin/lsp.vim
@@ -59,8 +59,20 @@ lua << EOF
local function on_attach()
vim.api.nvim_set_keymap('n', 'K', ':lua vim.lsp.buf.hover()<cr>', {noremap = true})
end
-require'lspconfig'.tsserver.setup{ on_attach=on_attach }
-require'lspconfig'.intelephense.setup{ on_attach=on_attach }
-require'lspconfig'.gopls.setup{ on_attach=on_attach }
-require'lspconfig'.sumneko_lua.setup{ on_attach=on_attach }
+
+local function setup_servers()
+ require'lspinstall'.setup()
+ local servers = require'lspinstall'.installed_servers()
+ for _, server in pairs(servers) do
+ require'lspconfig'[server].setup{ on_attach=on_attach}
+ end
+end
+
+setup_servers()
+
+require'lspinstall'.post_install_hook = function ()
+ setup_servers()
+ vim.cmd("bufdo e")
+end
+
EOF