about summary refs log tree commit diff
path: root/editors/code
diff options
context:
space:
mode:
authorgentoo90 <gentoo90@gmail.com>2019-01-05 17:28:41 +0200
committergentoo90 <gentoo90@gmail.com>2019-01-05 17:28:41 +0200
commita6e04cfa7fbc2baaf5fabb8a07093034d4d761e4 (patch)
tree43a703571f0e10dc619bbab959be002c9970c676 /editors/code
parent8d51b02362109d71355aed63d48b5e7ccd0e51f4 (diff)
downloadrust-a6e04cfa7fbc2baaf5fabb8a07093034d4d761e4.tar.gz
rust-a6e04cfa7fbc2baaf5fabb8a07093034d4d761e4.zip
Allow user to set path to ra_lsp_server in vscode settings
Diffstat (limited to 'editors/code')
-rw-r--r--editors/code/package.json7
-rw-r--r--editors/code/src/config.ts5
-rw-r--r--editors/code/src/server.ts2
3 files changed, 13 insertions, 1 deletions
diff --git a/editors/code/package.json b/editors/code/package.json
index 9b8f6351b45..c6340e6dfe8 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -132,6 +132,13 @@
                     "default": true,
                     "description": "Highlight Rust code (overrides built-in syntax highlighting)"
                 },
+                "ra-lsp.raLspServerPath": {
+                    "type": [
+                        "string"
+                    ],
+                    "default": "ra_lsp_server",
+                    "description": "Path to ra_lsp_server executable"
+                },
                 "ra-lsp.trace.server": {
                     "type": "string",
                     "scope": "window",
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index 7d05ea078ca..cd0c6e6e29f 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -4,6 +4,7 @@ import { Server } from './server';
 
 export class Config {
     public highlightingOn = true;
+    public raLspServerPath = 'ra_lsp_server';
 
     constructor() {
         vscode.workspace.onDidChangeConfiguration(_ =>
@@ -21,5 +22,9 @@ export class Config {
         if (!this.highlightingOn && Server) {
             Server.highlighter.removeHighlights();
         }
+
+        if (config.has('raLspServerPath')) {
+            this.raLspServerPath = config.get('raLspServerPath') as string;
+        }
     }
 }
diff --git a/editors/code/src/server.ts b/editors/code/src/server.ts
index 75bdf320708..35fb7e3f50b 100644
--- a/editors/code/src/server.ts
+++ b/editors/code/src/server.ts
@@ -12,7 +12,7 @@ export class Server {
         notificationHandlers: Iterable<[string, lc.GenericNotificationHandler]>
     ) {
         const run: lc.Executable = {
-            command: 'ra_lsp_server',
+            command: this.config.raLspServerPath,
             options: { cwd: '.' }
         };
         const serverOptions: lc.ServerOptions = {