diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/server.lua | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/hls/init.lua | 14 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/hls/install.mjs | 21 |
4 files changed, 37 insertions, 0 deletions
@@ -86,6 +86,7 @@ end - fortls (fortran) - gopls - graphql +- hls (haskell) - html - jsonls - omnisharp (csharp) diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua index 8625e2bb..f907f99c 100644 --- a/lua/nvim-lsp-installer/server.lua +++ b/lua/nvim-lsp-installer/server.lua @@ -19,6 +19,7 @@ local _SERVERS = { "fortls", "gopls", "graphql", + "hls", "html", "jsonls", "omnisharp", diff --git a/lua/nvim-lsp-installer/servers/hls/init.lua b/lua/nvim-lsp-installer/servers/hls/init.lua new file mode 100644 index 00000000..1629fd47 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/hls/init.lua @@ -0,0 +1,14 @@ +local server = require("nvim-lsp-installer.server") +local path = require("nvim-lsp-installer.path") +local zx = require("nvim-lsp-installer.installers.zx") + +local root_dir = server.get_server_root_path("haskell") + +return server.Server:new { + name = "hls", + root_dir = root_dir, + installer = zx.file("./install.mjs"), + default_options = { + cmd = { path.concat { root_dir, "hls" }, "--lsp" }, + }, +} diff --git a/lua/nvim-lsp-installer/servers/hls/install.mjs b/lua/nvim-lsp-installer/servers/hls/install.mjs new file mode 100644 index 00000000..be239614 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/hls/install.mjs @@ -0,0 +1,21 @@ +const VERSION = "1.2.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-wrapper-macOS.gz`; + default: + return `haskell-language-server-wrapper-Linux.gz`; + } +})(); + +const downloadUrl = `https://github.com/haskell/haskell-language-server/releases/download/${VERSION}/${target}`; + +await $`wget -O hls.gz ${downloadUrl}`; +await $`gunzip hls.gz`; +await $`chmod +x hls` |
