diff options
Diffstat (limited to 'lua/nvim-lsp-installer/servers/solc/init.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/solc/init.lua | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/lua/nvim-lsp-installer/servers/solc/init.lua b/lua/nvim-lsp-installer/servers/solc/init.lua index bdd2b331..941399ae 100644 --- a/lua/nvim-lsp-installer/servers/solc/init.lua +++ b/lua/nvim-lsp-installer/servers/solc/init.lua @@ -1,36 +1,33 @@ local server = require "nvim-lsp-installer.server" local Data = require "nvim-lsp-installer.data" -local context = require "nvim-lsp-installer.installers.context" local platform = require "nvim-lsp-installer.platform" -local std = require "nvim-lsp-installer.installers.std" local process = require "nvim-lsp-installer.process" +local github = require "nvim-lsp-installer.core.managers.github" +local std = require "nvim-lsp-installer.core.managers.std" local coalesce, when = Data.coalesce, Data.when return function(name, root_dir) - local bin_name = platform.is_win and "solc.exe" or "solc" return server.Server:new { name = name, root_dir = root_dir, homepage = "https://github.com/ethereum/solidity", languages = { "solidity" }, - installer = { - context.use_github_release_file( - "ethereum/solidity", - coalesce( + async = true, + installer = function() + local source = github.release_file { + repo = "ethereum/solidity", + asset_file = coalesce( when(platform.is_mac, "solc-macos"), when(platform.is_linux, "solc-static-linux"), when(platform.is_win, "solc-windows.exe") - ) - ), - context.capture(function(ctx) - return std.download_file(ctx.github_release_file, bin_name) - end), - std.chmod("+x", { bin_name }), - context.receipt(function(receipt, ctx) - receipt:with_primary_source(receipt.github_release_file(ctx)) - end), - }, + ), + } + source.with_receipt() + local bin_name = platform.is_win and "solc.exe" or "solc" + std.download_file(source.download_url, bin_name) + std.chmod("+x", { bin_name }) + end, default_options = { cmd_env = { PATH = process.extend_path { root_dir }, |
