diff options
| author | William Boman <william@redwill.se> | 2021-07-04 23:47:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-04 23:47:38 +0200 |
| commit | d93ccea2b8d3908c2ccc097c925341769bd75274 (patch) | |
| tree | d414827248083e21810226c888ece502c1e55119 | |
| parent | add tailwindcss (#36) (diff) | |
| download | mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar.gz mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar.bz2 mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar.lz mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar.xz mason-d93ccea2b8d3908c2ccc097c925341769bd75274.tar.zst mason-d93ccea2b8d3908c2ccc097c925341769bd75274.zip | |
add terraformls (#37)
| -rw-r--r-- | README.md | 3 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/server.lua | 3 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/terraformls/init.lua | 14 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/terraformls/install.mjs | 41 |
4 files changed, 59 insertions, 2 deletions
@@ -96,12 +96,13 @@ end - solargraph (ruby) - sumneko_lua - svelte +- tailwindcss +- terraformls - texlab - tsserver - vimls - vuels - yamlls -- tailwindcss ## Extras diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua index 273071b8..9b576b38 100644 --- a/lua/nvim-lsp-installer/server.lua +++ b/lua/nvim-lsp-installer/server.lua @@ -29,12 +29,13 @@ local _SERVERS = { "solargraph", "sumneko_lua", "svelte", + "tailwindcss", + "terraformls", "texlab", "tsserver", "vimls", "vuels", "yamlls", - "tailwindcss", } local function get_servers(server_names) diff --git a/lua/nvim-lsp-installer/servers/terraformls/init.lua b/lua/nvim-lsp-installer/servers/terraformls/init.lua new file mode 100644 index 00000000..e338a7c6 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/terraformls/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("terraform") + +return server.Server:new { + name = "terraformls", + root_dir = root_dir, + installer = zx.file("./install.mjs"), + default_options = { + cmd = { path.concat { root_dir, "terraform-ls", "terraform-ls" }, "serve" }, + }, +} diff --git a/lua/nvim-lsp-installer/servers/terraformls/install.mjs b/lua/nvim-lsp-installer/servers/terraformls/install.mjs new file mode 100644 index 00000000..9b9a41ce --- /dev/null +++ b/lua/nvim-lsp-installer/servers/terraformls/install.mjs @@ -0,0 +1,41 @@ +const VERSION = "v0.18.3"; + +const exitNotSupported = () => { + console.error( + chalk.red(`${os.platform()} ${os.arch()} is currently not supported.`) + ); + process.exit(1); +}; + +const target = (() => { + switch (os.platform()) { + case "win32": { + exitNotSupported(); + break; + } + case "darwin": + switch (os.arch()) { + case "arm64": + return "terraform-ls_0.18.3_darwin_arm64.zip"; + case "x64": + return "terraform-ls_0.18.3_darwin_amd64.zip"; + default: { + exitNotSupported(); + break; + } + } + default: + switch (os.arch()) { + case "arm64": + return "terraform-ls_0.18.3_linux_amd64.zip"; + default: + return "terraform-ls_0.18.3_linux_arm64.zip"; + } + } +})(); + +const downloadUrl = `https://github.com/hashicorp/terraform-ls/releases/download/${VERSION}/${target}`; + +await $`wget -O terraform-ls.zip ${downloadUrl}`; +await $`unzip terraform-ls.zip -d terraform-ls`; +await $`rm terraform-ls.zip`; |
