aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2021-04-05 14:19:07 +0200
committerGitHub <noreply@github.com>2021-04-05 14:19:07 +0200
commitdcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb (patch)
tree419e086d757624aa9e2bcaa456e02a6c8f7a3968
parenteslintls: avoid globbing/word splitting (diff)
downloadmason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar.gz
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar.bz2
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar.lz
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar.xz
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.tar.zst
mason-dcf117a8a60d887a2c2ff9d5617a9c39c5ee95fb.zip
rename Installer to Server for clarity (#3)
-rw-r--r--README.md4
-rw-r--r--doc/.gitignore1
-rw-r--r--doc/nvim-lsp-installer.txt34
-rw-r--r--lua/nvim-lsp-installer.lua12
-rw-r--r--lua/nvim-lsp-installer/server.lua (renamed from lua/nvim-lsp-installer/installer.lua)87
-rw-r--r--lua/nvim-lsp-installer/servers/bashls.lua (renamed from lua/nvim-lsp-installer/installers/bashls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/cssls.lua (renamed from lua/nvim-lsp-installer/installers/cssls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/dockerls.lua (renamed from lua/nvim-lsp-installer/installers/dockerls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/eslintls.lua (renamed from lua/nvim-lsp-installer/installers/eslintls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/graphql.lua (renamed from lua/nvim-lsp-installer/installers/graphql.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/html.lua (renamed from lua/nvim-lsp-installer/installers/html.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/jsonls.lua (renamed from lua/nvim-lsp-installer/installers/jsonls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/pyright.lua (renamed from lua/nvim-lsp-installer/installers/pyright.lua)8
-rw-r--r--lua/nvim-lsp-installer/servers/solargraph.lua (renamed from lua/nvim-lsp-installer/installers/solargraph.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/sumneko_lua.lua (renamed from lua/nvim-lsp-installer/installers/sumneko_lua.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/tsserver.lua (renamed from lua/nvim-lsp-installer/installers/tsserver.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/vimls.lua (renamed from lua/nvim-lsp-installer/installers/vimls.lua)6
-rw-r--r--lua/nvim-lsp-installer/servers/yamlls.lua (renamed from lua/nvim-lsp-installer/installers/yamlls.lua)6
-rw-r--r--plugin/nvim-lsp-installer.vim26
19 files changed, 126 insertions, 118 deletions
diff --git a/README.md b/README.md
index 7400e2db..41388be8 100644
--- a/README.md
+++ b/README.md
@@ -100,7 +100,3 @@ require'nvim-lsp-installer.extras.tsserver'.rename_file(old, new)
```lua
require'nvim-lsp-installer.extras.tsserver'.organize_imports(bufname)
```
-
-## TODO
-
-- installer... server... module.... pick one!!
diff --git a/doc/.gitignore b/doc/.gitignore
new file mode 100644
index 00000000..6e92f57d
--- /dev/null
+++ b/doc/.gitignore
@@ -0,0 +1 @@
+tags
diff --git a/doc/nvim-lsp-installer.txt b/doc/nvim-lsp-installer.txt
index d32915b6..5a19198d 100644
--- a/doc/nvim-lsp-installer.txt
+++ b/doc/nvim-lsp-installer.txt
@@ -49,12 +49,12 @@ Then, somewhere in your initialization script (see `:h init.lua`): >
COMMANDS *nvim-lsp-installer-commands*
*:LspInstall*
-:LspInstall {server}
+:LspInstall {server_name}
Installs a language server
*:LspUninstall*
-:LspUninstall {server}
+:LspUninstall {server_name}
Uninstalls a language server.
@@ -80,38 +80,38 @@ Lua module: nvim-lsp-installer *lsp_installer*
*lsp_installer.get_available_servers()*
get_available_servers()
Return: ~
- (string[]) A list containing all available language servers.
+ |lsp_installer.Server|[] A list containing all available language servers.
*lsp_installer.get_installed_servers()*
get_installed_servers()
Return: ~
- (Installer[]) A list of installers. See |lsp_installer.Installer|.
+ |lsp_installer.Server|[] A list of servers that are currently installed.
*lsp_installer.get_uninstalled_servers()*
get_uninstalled_servers()
Return: ~
- (string[]) A list of servers that are not installed.
+ |lsp_installer.Server|[] A list of servers that are not installed.
*lsp_installer.install()*
-install({server})
- Installs the provided {server}. If {server} is already installed, it
+install({server_name})
+ Installs the provided {server_name}. If {server_name} is already installed, it
is reinstalled.
Parameters: ~
- {server} (string) The server to install.
+ {server_name} (string) The server to install.
*lsp_installer.uninstall()*
-uninstall({server})
- Uninstalls the provided {server}.
+uninstall({server_name})
+ Uninstalls the provided {server_name}.
Parameters: ~
- {server} (string) The server to uninstall.
+ {server_name} (string) The server to uninstall.
==============================================================================
-Lua module: nvim-lsp-installer.installer *lsp_installer.installer*
+Lua module: nvim-lsp-installer.server *lsp_installer.server*
- *lsp_installer.Installer*
-class: Installer
+ *lsp_installer.Server*
+class: Server
This class enables installing, uninstalling, and setting up language
servers.
@@ -124,12 +124,12 @@ class: Installer
{opts}.
- is_installed()
- Returns {true} is installer is installed, else returns {false}.
+ Returns {true} is server is installed, else returns {false}.
- install()
- Installs this instance of an installer.
+ Installs this instance of an LSP server.
- uninstall()
- Uninstalls this instance of an installer.
+ Uninstalls this instance of an LSP server.
vim:tw=78:ft=help:norl:
diff --git a/lua/nvim-lsp-installer.lua b/lua/nvim-lsp-installer.lua
index e19d27d7..ecf70ad0 100644
--- a/lua/nvim-lsp-installer.lua
+++ b/lua/nvim-lsp-installer.lua
@@ -1,11 +1,11 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
local M = {}
-M.get_available_servers = installer.get_available_servers
-M.get_installed_servers = installer.get_installed_servers
-M.get_uninstalled_servers = installer.get_uninstalled_servers
-M.install = installer.install
-M.uninstall = installer.uninstall
+M.get_available_servers = server.get_available_servers
+M.get_installed_servers = server.get_installed_servers
+M.get_uninstalled_servers = server.get_uninstalled_servers
+M.install = server.install
+M.uninstall = server.uninstall
return M
diff --git a/lua/nvim-lsp-installer/installer.lua b/lua/nvim-lsp-installer/server.lua
index a6789d7d..5c71922b 100644
--- a/lua/nvim-lsp-installer/installer.lua
+++ b/lua/nvim-lsp-installer/server.lua
@@ -1,6 +1,7 @@
local M = {}
-local _INSTALLERS = {
+-- :'<,'>!sort
+local _SERVERS = {
'bashls',
'cssls',
'dockerls',
@@ -19,82 +20,90 @@ local function escape_quotes(str)
return string.format("%q", str)
end
-local function get_server_installer(server)
- return pcall(require, 'nvim-lsp-installer.installers.' .. server)
+local function get_server(server_name)
+ return pcall(require, 'nvim-lsp-installer.servers.' .. server_name)
end
-function M.get_available_servers() return _INSTALLERS end
-
-function M.get_installed_servers()
- local installed_servers = {}
- for _, server in pairs(M.get_available_servers()) do
- local ok, module = get_server_installer(server)
+local function get_servers(server_names)
+ local result = {}
+ for _, server_name in pairs(server_names) do
+ local ok, server = get_server(server_name)
if not ok then
- vim.api.nvim_err_writeln("Unable to find installer for " .. server)
+ vim.api.nvim_err_writeln("Unable to find LSP server " .. server_name)
goto continue
end
- if module:is_installed() then
- table.insert(installed_servers, module)
- end
+ result[server_name] = server
::continue::
end
- return installed_servers
+ return result
+end
+
+function M.get_available_servers()
+ return vim.tbl_values(get_servers(_SERVERS))
+end
+
+function M.get_installed_servers()
+ return vim.tbl_filter(
+ function (server)
+ return server:is_installed()
+ end,
+ M.get_available_servers()
+ )
end
function M.get_uninstalled_servers()
- local installed_servers = M.get_installed_servers()
return vim.tbl_filter(
function (server)
- return not vim.tbl_contains(installed_servers, server)
+ return not server:is_installed()
end,
M.get_available_servers()
)
end
-function M.install(server)
- local ok, installer = get_server_installer(server)
+function M.install(server_name)
+ local ok, server = get_server(server_name)
if not ok then
- return vim.api.nvim_err_writeln("Unable to find installer for " .. server)
+ return vim.api.nvim_err_writeln("Unable to find LSP server " .. server_name)
end
- local success, error = pcall(installer.install, installer)
+ local success, error = pcall(server.install, server)
if not success then
- pcall(installer.uninstall, installer)
- return vim.api.nvim_err_writeln("Failed to install " .. server .. ". Error=" .. vim.inspect(error))
+ pcall(server.uninstall, server)
+ return vim.api.nvim_err_writeln("Failed to install " .. server_name .. ". Error=" .. vim.inspect(error))
end
end
-function M.uninstall(server)
- local ok, installer = get_server_installer(server)
+function M.uninstall(server_name)
+ local ok, server = get_server(server_name)
if not ok then
- return vim.api.nvim_err_writeln("Unable to find installer for " .. server)
+ return vim.api.nvim_err_writeln("Unable to find LSP server " .. server_name)
end
- local success, error = pcall(installer.uninstall, installer)
+ local success, error = pcall(server.uninstall, server)
if not success then
- vim.api.nvim_err_writeln('Unable to uninstall ' .. server .. '. Error=' .. vim.inspect(error))
+ vim.api.nvim_err_writeln('Unable to uninstall ' .. server_name .. '. Error=' .. vim.inspect(error))
return success
end
- print("Successfully uninstalled " .. server)
+ print("Successfully uninstalled " .. server_name)
end
function M.get_server_root_path(server)
return vim.fn.stdpath('data') .. "/lsp_servers/" .. server
end
-M.Installer = {}
-M.Installer.__index = M.Installer
+M.Server = {}
+M.Server.__index = M.Server
----@class Installer
-function M.Installer:new(opts)
+---@class Server
+function M.Server:new(opts)
return setmetatable({
name = opts.name,
_install_cmd = opts.install_cmd,
_root_dir = opts.root_dir,
_default_options = opts.default_options,
_pre_install = opts.pre_install,
- }, M.Installer)
+ }, M.Server)
end
-function M.Installer:setup(opts)
+function M.Server:setup(opts)
-- We require the lspconfig server here in order to do it as late as possible.
-- The reason for this is because once a lspconfig server has been imported, it's
-- automatically registered with lspconfig and causes it to show up in :LspInfo and whatnot.
@@ -103,17 +112,17 @@ function M.Installer:setup(opts)
)
end
-function M.Installer:is_installed()
+function M.Server:is_installed()
return os.execute('test -d ' .. escape_quotes(self._root_dir)) == 0
end
-function M.Installer:create_root_dir()
+function M.Server:create_root_dir()
if os.execute('mkdir -p ' .. escape_quotes(self._root_dir)) ~= 0 then
error('Could not create LSP server directory ' .. self._root_dir)
end
end
-function M.Installer:install()
+function M.Server:install()
if self._pre_install then
self._pre_install()
end
@@ -134,7 +143,7 @@ function M.Installer:install()
cwd = self._root_dir,
on_exit = function (_, exit_code)
if exit_code ~= 0 then
- vim.api.nvim_err_writeln("Installer failed for " .. self.name .. ". Exit code: " .. exit_code)
+ vim.api.nvim_err_writeln("Server installation failed for " .. self.name .. ". Exit code: " .. exit_code)
self:uninstall()
else
print("Successfully installed " .. self.name)
@@ -147,7 +156,7 @@ function M.Installer:install()
vim.cmd([[startinsert]]) -- so that the buffer tails the term log nicely
end
-function M.Installer:uninstall()
+function M.Server:uninstall()
-- giggity
if os.execute('rm -rf ' .. escape_quotes(self._root_dir)) ~= 0 then
error('Could not remove LSP server directory ' .. self._root_dir)
diff --git a/lua/nvim-lsp-installer/installers/bashls.lua b/lua/nvim-lsp-installer/servers/bashls.lua
index 68b29c41..224e8d23 100644
--- a/lua/nvim-lsp-installer/installers/bashls.lua
+++ b/lua/nvim-lsp-installer/servers/bashls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('bash')
+local root_dir = server.get_server_root_path('bash')
-return installer.Installer:new {
+return server.Server:new {
name = "bashls",
root_dir = root_dir,
install_cmd = [[npm install bash-language-server@latest]],
diff --git a/lua/nvim-lsp-installer/installers/cssls.lua b/lua/nvim-lsp-installer/servers/cssls.lua
index 23010cd2..53bb6378 100644
--- a/lua/nvim-lsp-installer/installers/cssls.lua
+++ b/lua/nvim-lsp-installer/servers/cssls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('css')
+local root_dir = server.get_server_root_path('css')
-return installer.Installer:new {
+return server.Server:new {
name = 'cssls',
root_dir = root_dir,
install_cmd = [[npm install vscode-css-languageserver-bin]],
diff --git a/lua/nvim-lsp-installer/installers/dockerls.lua b/lua/nvim-lsp-installer/servers/dockerls.lua
index 021b098b..dbe4645e 100644
--- a/lua/nvim-lsp-installer/installers/dockerls.lua
+++ b/lua/nvim-lsp-installer/servers/dockerls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('dockerfile')
+local root_dir = server.get_server_root_path('dockerfile')
-return installer.Installer:new {
+return server.Server:new {
name = 'dockerls',
root_dir = root_dir,
install_cmd = [[npm install dockerfile-language-server-nodejs@latest]],
diff --git a/lua/nvim-lsp-installer/installers/eslintls.lua b/lua/nvim-lsp-installer/servers/eslintls.lua
index 13ddf94f..b8f0f448 100644
--- a/lua/nvim-lsp-installer/installers/eslintls.lua
+++ b/lua/nvim-lsp-installer/servers/eslintls.lua
@@ -1,7 +1,7 @@
local lspconfig = require'lspconfig'
local configs = require'lspconfig/configs'
-local installer = require'nvim-lsp-installer.installer'
+local server = require'nvim-lsp-installer.server'
if not lspconfig.eslintls then
configs.eslintls = {
@@ -38,7 +38,7 @@ local ConfirmExecutionResult = {
approved = 4
}
-local root_dir = installer.get_server_root_path('eslint')
+local root_dir = server.get_server_root_path('eslint')
local install_cmd = [[
git clone https://github.com/microsoft/vscode-eslint .;
npm install;
@@ -47,7 +47,7 @@ npm install;
npx tsc;
]]
-return installer.Installer:new {
+return server.Server:new {
name = "eslintls",
root_dir = root_dir,
install_cmd = install_cmd,
diff --git a/lua/nvim-lsp-installer/installers/graphql.lua b/lua/nvim-lsp-installer/servers/graphql.lua
index 471eb3ba..1728e81e 100644
--- a/lua/nvim-lsp-installer/installers/graphql.lua
+++ b/lua/nvim-lsp-installer/servers/graphql.lua
@@ -1,10 +1,10 @@
local util = require('lspconfig.util')
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('graphql')
+local root_dir = server.get_server_root_path('graphql')
-return installer.Installer:new {
+return server.Server:new {
name = "graphql",
root_dir = root_dir,
install_cmd = [[npm install graphql-language-service-cli@latest graphql]],
diff --git a/lua/nvim-lsp-installer/installers/html.lua b/lua/nvim-lsp-installer/servers/html.lua
index 8e269e18..36acc429 100644
--- a/lua/nvim-lsp-installer/installers/html.lua
+++ b/lua/nvim-lsp-installer/servers/html.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('html')
+local root_dir = server.get_server_root_path('html')
-return installer.Installer:new {
+return server.Server:new {
name = "html",
root_dir = root_dir,
install_cmd = [[npm install vscode-html-languageserver-bin]],
diff --git a/lua/nvim-lsp-installer/installers/jsonls.lua b/lua/nvim-lsp-installer/servers/jsonls.lua
index 0298f5ae..e856f50f 100644
--- a/lua/nvim-lsp-installer/installers/jsonls.lua
+++ b/lua/nvim-lsp-installer/servers/jsonls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('json')
+local root_dir = server.get_server_root_path('json')
-return installer.Installer:new {
+return server.Server:new {
name = "jsonls",
root_dir = root_dir,
install_cmd = [[npm install vscode-json-languageserver-bin]],
diff --git a/lua/nvim-lsp-installer/installers/pyright.lua b/lua/nvim-lsp-installer/servers/pyright.lua
index a6684def..e356deb0 100644
--- a/lua/nvim-lsp-installer/installers/pyright.lua
+++ b/lua/nvim-lsp-installer/servers/pyright.lua
@@ -1,13 +1,13 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('python')
+local root_dir = server.get_server_root_path('python')
-return installer.Installer:new {
+return server.Server:new {
name = "pyright",
root_dir = root_dir,
install_cmd = [[npm install pyright]],
default_options = {
cmd = { root_dir .. '/node_modules/.bin/pyright-langserver', '--stdio' },
- on_attach = installer.common_on_attach,
+ on_attach = server.common_on_attach,
},
}
diff --git a/lua/nvim-lsp-installer/installers/solargraph.lua b/lua/nvim-lsp-installer/servers/solargraph.lua
index c227c2b3..c9f99e7c 100644
--- a/lua/nvim-lsp-installer/installers/solargraph.lua
+++ b/lua/nvim-lsp-installer/servers/solargraph.lua
@@ -1,6 +1,6 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('ruby')
+local root_dir = server.get_server_root_path('ruby')
local install_cmd = [[
wget -O solargraph.tar $(curl -s https://api.github.com/repos/castwide/solargraph/tags | grep 'tarball_url' | cut -d\" -f4 | head -n1);
@@ -19,7 +19,7 @@ echo 'bundle exec solargraph $*' >> solargraph;
chmod +x solargraph;
]]
-return installer.Installer:new {
+return server.Server:new {
name = "solargraph",
root_dir = root_dir,
install_cmd = install_cmd,
diff --git a/lua/nvim-lsp-installer/installers/sumneko_lua.lua b/lua/nvim-lsp-installer/servers/sumneko_lua.lua
index 947ae276..81ac2bcb 100644
--- a/lua/nvim-lsp-installer/installers/sumneko_lua.lua
+++ b/lua/nvim-lsp-installer/servers/sumneko_lua.lua
@@ -1,6 +1,6 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('lua')
+local root_dir = server.get_server_root_path('lua')
local install_cmd = [=[
rm -rf lua-language-server;
@@ -26,7 +26,7 @@ local uname_alias = {
local uname = vim.fn.system('uname'):gsub("%s+", "")
local bin_dir = uname_alias[uname] or uname
-return installer.Installer:new {
+return server.Server:new {
name = "sumneko_lua",
root_dir = root_dir,
install_cmd = install_cmd,
diff --git a/lua/nvim-lsp-installer/installers/tsserver.lua b/lua/nvim-lsp-installer/servers/tsserver.lua
index 87310e02..0294dc79 100644
--- a/lua/nvim-lsp-installer/installers/tsserver.lua
+++ b/lua/nvim-lsp-installer/servers/tsserver.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('tsserver')
+local root_dir = server.get_server_root_path('tsserver')
-return installer.Installer:new {
+return server.Server:new {
name = "tsserver",
root_dir = root_dir,
install_cmd = [[npm install typescript-language-server]],
diff --git a/lua/nvim-lsp-installer/installers/vimls.lua b/lua/nvim-lsp-installer/servers/vimls.lua
index 3e6786b7..94041007 100644
--- a/lua/nvim-lsp-installer/installers/vimls.lua
+++ b/lua/nvim-lsp-installer/servers/vimls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('vim')
+local root_dir = server.get_server_root_path('vim')
-return installer.Installer:new {
+return server.Server:new {
name = "vimls",
root_dir = root_dir,
install_cmd = [[npm install vim-language-server@latest]],
diff --git a/lua/nvim-lsp-installer/installers/yamlls.lua b/lua/nvim-lsp-installer/servers/yamlls.lua
index 5d68915a..03f1e75a 100644
--- a/lua/nvim-lsp-installer/installers/yamlls.lua
+++ b/lua/nvim-lsp-installer/servers/yamlls.lua
@@ -1,8 +1,8 @@
-local installer = require('nvim-lsp-installer.installer')
+local server = require('nvim-lsp-installer.server')
-local root_dir = installer.get_server_root_path('yaml')
+local root_dir = server.get_server_root_path('yaml')
-return installer.Installer:new {
+return server.Server:new {
name = "yamlls",
root_dir = root_dir,
install_cmd = [[npm install yaml-language-server]],
diff --git a/plugin/nvim-lsp-installer.vim b/plugin/nvim-lsp-installer.vim
index 34277863..48f6a96b 100644
--- a/plugin/nvim-lsp-installer.vim
+++ b/plugin/nvim-lsp-installer.vim
@@ -4,38 +4,40 @@ let g:loaded_nvim_lsp_installer = 1
let s:save_cpo = &cpo
set cpo&vim
+function! s:MapServerName(servers) abort
+ return map(a:servers, {_, val -> val.name})
+endfunction
+
function! s:LspInstallCompletion(...) abort
- return join(luaeval("require'nvim-lsp-installer'.get_available_servers()"), "\n")
+ return join(s:MapServerName(luaeval("require'nvim-lsp-installer'.get_available_servers()")), "\n")
endfunction
function! s:LspUninstallCompletion(...) abort
- return join(
- \ map(luaeval("require'nvim-lsp-installer'.get_installed_servers()"), {_, val -> val.name}),
- \ "\n")
+ return join(s:MapServerName(luaeval("require'nvim-lsp-installer'.get_installed_servers()")), "\n")
endfunction
-function! s:LspInstall(server) abort
- call luaeval("require'nvim-lsp-installer'.install(_A)", a:server)
+function! s:LspInstall(server_name) abort
+ call luaeval("require'nvim-lsp-installer'.install(_A)", a:server_name)
endfunction
function! s:LspInstallAll() abort
- for server in luaeval("require'nvim-lsp-installer'.get_uninstalled_servers()")
- call luaeval("require'nvim-lsp-installer'.install(_A)", server)
+ for server_name in s:MapServerName(luaeval("require'nvim-lsp-installer'.get_uninstalled_servers()"))
+ call luaeval("require'nvim-lsp-installer'.install(_A)", server_name)
endfor
endfunction
-function! s:LspUninstall(server) abort
- call luaeval("require'nvim-lsp-installer'.uninstall(_A)", a:server)
+function! s:LspUninstall(server_name) abort
+ call luaeval("require'nvim-lsp-installer'.uninstall(_A)", a:server_name)
endfunction
function! s:LspUninstallAll() abort
- for server in luaeval("require'nvim-lsp-installer'.get_installed_servers()")
+ for server in s:MapServerName(luaeval("require'nvim-lsp-installer'.get_installed_servers()"))
call s:LspUninstall(server)
endfor
endfunction
function! s:LspPrintInstalled() abort
- echo map(luaeval("require'nvim-lsp-installer'.get_installed_servers()"), {_, val -> val.name})
+ echo s:MapServerName(luaeval("require'nvim-lsp-installer'.get_installed_servers()"))
endfunction
command! -nargs=1 -complete=custom,s:LspInstallCompletion LspInstall exe s:LspInstall("<args>")