aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksa Vučković <aleksav013@gmail.com>2022-01-19 20:41:57 +0100
committerAleksa Vučković <aleksav013@gmail.com>2022-01-19 20:41:57 +0100
commit17d41ad8222f83fa0537cb70fbc823675b1389e2 (patch)
tree37df44e9cd9a25c57b3260973eed9d02166b7029
parente056fe78a29edbe377445c0fcb5854bec122dee8 (diff)
Autoinstall LSP servers
-rw-r--r--lua/user/keymaps.lua1
-rw-r--r--lua/user/lsp/lsp-installer.lua18
2 files changed, 18 insertions, 1 deletions
diff --git a/lua/user/keymaps.lua b/lua/user/keymaps.lua
index 48aa005..bdf1b6a 100644
--- a/lua/user/keymaps.lua
+++ b/lua/user/keymaps.lua
@@ -41,6 +41,7 @@ keymap("n", "<C-Right>", ":vertical resize +2<CR>", opts)
-- Navigate buffers
keymap("n", "<S-l>", ":bnext<CR>", opts)
keymap("n", "<S-h>", ":bprevious<CR>", opts)
+keymap("n", "<S-x>", ":bdelete<CR>", opts)
-- Insert --
-- Press jk fast to enter
diff --git a/lua/user/lsp/lsp-installer.lua b/lua/user/lsp/lsp-installer.lua
index 4948d07..b284468 100644
--- a/lua/user/lsp/lsp-installer.lua
+++ b/lua/user/lsp/lsp-installer.lua
@@ -1,3 +1,19 @@
+local servers = { "bashls", "texlab", "sumneko_lua" }
+
+local status, lsp_installer_servers = pcall(require, "nvim-lsp-installer.servers")
+if not status then
+ return
+end
+
+for _, server in pairs(servers) do
+ local _, requested_server = lsp_installer_servers.get_server(server)
+ if not requested_server:is_installed() then
+ -- Queue the server to be installed
+ requested_server:install()
+ end
+end
+
+
local status_ok, lsp_installer = pcall(require, "nvim-lsp-installer")
if not status_ok then
return
@@ -24,7 +40,7 @@ lsp_installer.on_server_ready(function(server)
if server.name == "sumneko_lua" then
local sumneko_opts = require("user.lsp.settings.sumneko_lua")
opts = vim.tbl_deep_extend("force", sumneko_opts, opts)
- end
+ end
-- This setup() function is exactly the same as lspconfig's setup function.