aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/servers/hls/install.mjs
blob: 5bd8b6cd54cd0e88ef229d70e9b6965c48fcfc21 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
const VERSION = "1.3.0";

const target = (() => {
    const platform = os.platform();
    switch (platform) {
        case "win32": {
            console.error(chalk.red(`${platform} is not yet supported.`));
            process.exit(1);
        }
        case "darwin":
            return `haskell-language-server-macOS-${VERSION}.tar.gz`;
        default:
            return `haskell-language-server-Linux-${VERSION}.tar.gz`;
    }
})();

const downloadUrl = `https://github.com/haskell/haskell-language-server/releases/download/${VERSION}/${target}`;

await $`wget -O hls.tar.gz ${downloadUrl}`;
await $`tar -xf hls.tar.gz`;
await $`rm hls.tar.gz`;
await $`chmod +x haskell*`;

const scriptContent = `#!/usr/bin/env bash
PATH="$PATH:${__dirname}" "${__dirname}/haskell-language-server-wrapper" --lsp`;

await fs.writeFile("./hls", scriptContent);
await $`chmod +x hls`