aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2021-09-10 13:38:39 +0200
committerGitHub <noreply@github.com>2021-09-10 13:38:39 +0200
commitd2ec0c0070c01ba0e3e8926031cfe848a016df44 (patch)
treebf57f20725e11125ed51caac547c483d4e642831 /lua/nvim-lsp-installer/servers/sumneko_lua/init.lua
parentCUSTOM_SERVERS.md: update docs (diff)
downloadmason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.gz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.bz2
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.lz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.xz
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.tar.zst
mason-d2ec0c0070c01ba0e3e8926031cfe848a016df44.zip
rewrite some installers for broader cross-platform support (#85)
- Remove all usage of zx in favour of native Lua (via libuv) - Introduce new set of `std` installers The following servers will have to be reinstalled due to this change: 1. clangd 2. solargraph 3. sumneko_lua 4. tailwindcss
Diffstat (limited to 'lua/nvim-lsp-installer/servers/sumneko_lua/init.lua')
-rw-r--r--lua/nvim-lsp-installer/servers/sumneko_lua/init.lua35
1 files changed, 18 insertions, 17 deletions
diff --git a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua
index 7ad00ebe..696679b0 100644
--- a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua
+++ b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua
@@ -1,32 +1,33 @@
local server = require "nvim-lsp-installer.server"
-local installers = require "nvim-lsp-installer.installers"
local path = require "nvim-lsp-installer.path"
-local zx = require "nvim-lsp-installer.installers.zx"
+local platform = require "nvim-lsp-installer.platform"
+local Data = require "nvim-lsp-installer.data"
+local std = require "nvim-lsp-installer.installers.std"
-local root_dir = server.get_server_root_path "lua"
+local root_dir = server.get_server_root_path "sumneko_lua"
-local uname_alias = {
- Darwin = "macOS",
-}
-local uname = vim.fn.system("uname"):gsub("%s+", "")
-local bin_dir = uname_alias[uname] or uname
+local bin_dir = Data.coalesce(
+ Data.when(platform.is_mac, "macOS"),
+ Data.when(platform.is_unix, "Linux"),
+ Data.when(platform.is_win, "Windows")
+)
return server.Server:new {
name = "sumneko_lua",
root_dir = root_dir,
- installer = installers.when {
- unix = zx.file "./install.mjs",
+ installer = {
+ std.unzip_remote "https://github.com/sumneko/vscode-lua/releases/download/v2.3.6/lua-2.3.6.vsix",
+ -- see https://github.com/sumneko/vscode-lua/pull/43
+ std.chmod(
+ "+x",
+ { "extension/server/bin/macOS/lua-language-server", "extension/server/bin/Linux/lua-language-server" }
+ ),
},
- pre_install_check = function()
- if vim.fn.executable "ninja" ~= 1 then
- error "ninja not installed (see https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages)"
- end
- end,
default_options = {
cmd = {
- path.concat { root_dir, "bin", bin_dir, "lua-language-server" },
+ path.concat { root_dir, "extension", "server", "bin", bin_dir, "lua-language-server" },
"-E",
- path.concat { root_dir, "main.lua" },
+ path.concat { root_dir, "extension", "server", "main.lua" },
},
settings = {
Lua = {