diff options
| -rw-r--r-- | lua/nvim-lsp-installer/servers/sumneko_lua/init.lua | 35 |
1 files changed, 22 insertions, 13 deletions
diff --git a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua index 82db4f26..907545be 100644 --- a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua +++ b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua @@ -5,13 +5,9 @@ local Data = require "nvim-lsp-installer.data" local std = require "nvim-lsp-installer.installers.std" local context = require "nvim-lsp-installer.installers.context" -return function(name, root_dir) - local bin_dir = Data.coalesce( - Data.when(platform.is_mac, "macOS"), - Data.when(platform.is_linux, "Linux"), - Data.when(platform.is_win, "Windows") - ) +local coalesce, when = Data.coalesce, Data.when +return function(name, root_dir) return server.Server:new { name = name, root_dir = root_dir, @@ -19,19 +15,32 @@ return function(name, root_dir) homepage = "https://github.com/sumneko/lua-language-server", installer = { context.use_github_release_file("sumneko/vscode-lua", function(version) - return ("lua-%s.vsix"):format(version:gsub("^v", "")) + local target = coalesce( + when( + platform.is_mac, + coalesce( + when(platform.arch == "x64", "vscode-lua-%s-darwin-x64.vsix"), + when(platform.arch == "arm64", "vscode-lua-%s-darwin-arm64.vsix") + ) + ), + when(platform.is_linux and platform.arch == "x64", "vscode-lua-%s-linux-x64.vsix"), + when( + platform.is_win, + coalesce( + when(platform.arch == "x64", "vscode-lua-%s-win32-x64.vsix"), + when(platform.arch == "x86", "vscode-lua-%s-win32-ia32.vsix") + ) + ) + ) + + return target and target:format(version) end), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file) end), - -- 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" } - ), }, default_options = { - cmd = { path.concat { root_dir, "extension", "server", "bin", bin_dir, "lua-language-server" } }, + cmd = { path.concat { root_dir, "extension", "server", "bin", "lua-language-server" } }, }, } end |
