diff options
| author | William Boman <william@redwill.se> | 2022-05-05 12:52:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-05 12:52:27 +0200 |
| commit | 91fe4540471e03c88af61e7cb26ab899bcc8e227 (patch) | |
| tree | 0e2e0caa522fe2f3588f5658fe60ed70eae297f0 /lua | |
| parent | fix(github): fix bad ternary expression (diff) | |
| download | mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar.gz mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar.bz2 mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar.lz mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar.xz mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.tar.zst mason-91fe4540471e03c88af61e7cb26ab899bcc8e227.zip | |
feat(hls): install via ghcup (#667)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/hls/init.lua | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/lua/nvim-lsp-installer/servers/hls/init.lua b/lua/nvim-lsp-installer/servers/hls/init.lua index 8c684e01..293b1580 100644 --- a/lua/nvim-lsp-installer/servers/hls/init.lua +++ b/lua/nvim-lsp-installer/servers/hls/init.lua @@ -29,44 +29,9 @@ return function(name, root_dir) :get_or_throw() end) - local asset_file = coalesce( - when(platform.is.mac_arm64, "haskell-language-server-%s-aarch64-darwin.tar.xz"), - when(platform.is.mac_x64, "haskell-language-server-%s-x86_64-darwin.tar.xz"), - when(platform.is.win_x64, "haskell-language-server-%s-x86_64-unknown-mingw32.zip") - ) - - if not asset_file and platform.is_linux then - asset_file = std.select({ - "haskell-language-server-%s-aarch64-linux-deb10.tar.xz", - "haskell-language-server-%s-x86_64-linux-centos7.tar.xz", - "haskell-language-server-%s-x86_64-linux-deb10.tar.xz", - "haskell-language-server-%s-x86_64-linux-deb9.tar.xz", - "haskell-language-server-%s-x86_64-linux-fedora27.tar.xz", - }, { - prompt = "[hls] Unable to determine which distribution to download, please select one.", - format_item = function(item) - return item:format(release) - end, - }) - end - - assert(asset_file, "Couldn't determine which archive to download.") - - local download_url = ("https://downloads.haskell.org/~hls/haskell-language-server-%s/%s"):format( - release, - asset_file:format(release) - ) - - platform.when { - unix = function() - std.download_file(download_url, "haskell-language-server.tar.xz") - std.untarxz("haskell-language-server.tar.xz", { strip_components = 1 }) - end, - win = function() - std.download_file(download_url, "haskell-language-server.zip") - std.unzip("haskell-language-server.zip", ".") - end, - } + std.ensure_executable("ghcup", { help_url = "https://www.haskell.org/ghcup/" }) + ctx:promote_cwd() + ctx.spawn.ghcup { "install", "hls", release, "-i", ctx.cwd:get() } ctx.receipt:with_primary_source(ctx.receipt.github_release(repo, release)) end, |
