aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--installer/install-rust-analyzer.cmd5
-rwxr-xr-xinstaller/install-rust-analyzer.sh20
-rw-r--r--settings.json4
-rw-r--r--settings/rust-analyzer.vim13
4 files changed, 42 insertions, 0 deletions
diff --git a/installer/install-rust-analyzer.cmd b/installer/install-rust-analyzer.cmd
new file mode 100644
index 0000000..f204545
--- /dev/null
+++ b/installer/install-rust-analyzer.cmd
@@ -0,0 +1,5 @@
+@echo off
+
+curl -L -o rust-analyzer-windows.exe "https://github.com/rust-analyzer/rust-analyzer/releases/download/2020-02-18/rust-analyzer-windows.exe"
+
+move rust-analyzer-windows.exe rust-analyzer.exe
diff --git a/installer/install-rust-analyzer.sh b/installer/install-rust-analyzer.sh
new file mode 100755
index 0000000..fc0afb1
--- /dev/null
+++ b/installer/install-rust-analyzer.sh
@@ -0,0 +1,20 @@
+#!/usr/bin/env bash
+
+set -e
+
+os=$(uname -s | tr "[:upper:]" "[:lower:]")
+
+case $os in
+linux)
+ platform="linux"
+ ;;
+darwin)
+ platform="mac"
+ ;;
+esac
+
+version="2020-02-18"
+curl -L -o ra_lsp_server-$platform "https://github.com/rust-analyzer/rust-analyzer/releases/download/$version/rust-analyzer-$platform"
+
+mv rust-analyzer-$platform rust-analyzer
+chmod +x rust-analyzer
diff --git a/settings.json b/settings.json
index a47845d..97543e4 100644
--- a/settings.json
+++ b/settings.json
@@ -467,6 +467,10 @@
"requires": []
},
{
+ "command": "rust-analyzer",
+ "requires": []
+ },
+ {
"command": "ra_lsp_server",
"requires": []
}
diff --git a/settings/rust-analyzer.vim b/settings/rust-analyzer.vim
new file mode 100644
index 0000000..d07fc1c
--- /dev/null
+++ b/settings/rust-analyzer.vim
@@ -0,0 +1,13 @@
+augroup vimlsp_settings_rust-analyzer
+ au!
+ LspRegisterServer {
+ \ 'name': 'rust-analyzer',
+ \ 'cmd': {server_info->lsp_settings#get('rust-analyzer', 'cmd', [lsp_settings#exec_path('rust-analyzer')])},
+ \ 'root_uri':{server_info->lsp_settings#get('rust-analyzer', 'root_uri', lsp_settings#root_uri(['Cargo.toml']))},
+ \ 'initialization_options': lsp_settings#get('rust-analyzer', 'initialization_options', v:null),
+ \ 'whitelist': lsp_settings#get('rust-analyzer', 'whitelist', ['rust']),
+ \ 'blacklist': lsp_settings#get('rust-analyzer', 'blacklist', []),
+ \ 'config': lsp_settings#get('rust-analyzer', 'config', lsp_settings#server_config('rust-analyzer')),
+ \ 'workspace_config': lsp_settings#get('rust-analyzer', 'workspace_config', {}),
+ \ }
+augroup END