diff options
| author | William Boman <william@redwill.se> | 2021-05-17 14:40:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-05-17 14:40:26 +0200 |
| commit | ec358406bca148d48dc83195565a75d5f5ba3bee (patch) | |
| tree | e312e1e0e54e1eec24515571af5272461b0a3979 /lua | |
| parent | add support for zx install scripts (#13) (diff) | |
| download | mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar.gz mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar.bz2 mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar.lz mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar.xz mason-ec358406bca148d48dc83195565a75d5f5ba3bee.tar.zst mason-ec358406bca148d48dc83195565a75d5f5ba3bee.zip | |
add rust_analyzer (#14)
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/nvim-lsp-installer/server.lua | 1 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/rust_analyzer/init.lua | 14 | ||||
| -rw-r--r-- | lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs | 24 |
3 files changed, 39 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/server.lua b/lua/nvim-lsp-installer/server.lua index a500441f..847e54e1 100644 --- a/lua/nvim-lsp-installer/server.lua +++ b/lua/nvim-lsp-installer/server.lua @@ -15,6 +15,7 @@ local _SERVERS = { "graphql", "html", "jsonls", + "rust_analyzer", "solargraph", "sumneko_lua", "texlab", diff --git a/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua b/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua new file mode 100644 index 00000000..99b0c54c --- /dev/null +++ b/lua/nvim-lsp-installer/servers/rust_analyzer/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("rust") + +return server.Server:new { + name = "rust_analyzer", + root_dir = root_dir, + install_cmd = zx.file("./install.mjs"), + default_options = { + cmd = { path.concat { root_dir, "rust-analyzer" } }, + }, +} diff --git a/lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs b/lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs new file mode 100644 index 00000000..d6a9c218 --- /dev/null +++ b/lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs @@ -0,0 +1,24 @@ +const VERSION = "2021-05-10"; + +const target = (() => { + switch (os.platform()) { + case "darwin": + return "rust-analyzer-mac.gz"; + case "win32": { + console.error(chalk.red("Windows not currently supported.")); + process.exit(1); + break; + } + default: + return "rust-analyzer-linux.gz"; + } +})(); + +const unpackedTarget = target.replace(/\.gz$/, ""); + +const downloadUrl = `https://github.com/rust-analyzer/rust-analyzer/releases/download/${VERSION}/${target}`; + +await $`wget ${downloadUrl}`; +await $`gunzip ${target}`; +await $`chmod +x ${unpackedTarget}`; +await $`mv ${unpackedTarget} rust-analyzer`; |
