diff options
| author | William Boman <william@redwill.se> | 2021-09-10 13:38:39 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-10 13:38:39 +0200 |
| commit | d2ec0c0070c01ba0e3e8926031cfe848a016df44 (patch) | |
| tree | bf57f20725e11125ed51caac547c483d4e642831 /lua/nvim-lsp-installer/servers/sumneko_lua/init.lua | |
| parent | CUSTOM_SERVERS.md: update docs (diff) | |
| download | mason-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.lua | 35 |
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 = { |
