aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs')
-rw-r--r--lua/nvim-lsp-installer/servers/rust_analyzer/install.mjs24
1 files changed, 24 insertions, 0 deletions
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`;