aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-05-05 12:52:27 +0200
committerGitHub <noreply@github.com>2022-05-05 12:52:27 +0200
commit91fe4540471e03c88af61e7cb26ab899bcc8e227 (patch)
tree0e2e0caa522fe2f3588f5658fe60ed70eae297f0 /lua
parentfix(github): fix bad ternary expression (diff)
downloadmason-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.lua41
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,