diff options
Diffstat (limited to 'editors/code')
-rw-r--r-- | editors/code/package.json | 2 | ||||
-rw-r--r-- | editors/code/src/config.ts | 4 | ||||
-rw-r--r-- | editors/code/src/main.ts | 19 |
3 files changed, 13 insertions, 12 deletions
diff --git a/editors/code/package.json b/editors/code/package.json index 3e55a3523..63db87064 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -280,7 +280,7 @@ | |||
280 | "default": true, | 280 | "default": true, |
281 | "description": "Whether to ask for permission before downloading any files from the Internet." | 281 | "description": "Whether to ask for permission before downloading any files from the Internet." |
282 | }, | 282 | }, |
283 | "rust-analyzer.serverPath": { | 283 | "rust-analyzer.server.path": { |
284 | "type": [ | 284 | "type": [ |
285 | "null", | 285 | "null", |
286 | "string" | 286 | "string" |
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index fe9f3b4a8..ebe4de1ea 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -93,7 +93,9 @@ export class Config { | |||
93 | return this.cfg.get<T>(path)!; | 93 | return this.cfg.get<T>(path)!; |
94 | } | 94 | } |
95 | 95 | ||
96 | get serverPath() { return this.get<null | string>("serverPath"); } | 96 | get serverPath() { |
97 | return this.get<null | string>("server.path") ?? this.get<null | string>("serverPath"); | ||
98 | } | ||
97 | get serverExtraEnv() { return this.get<Env | null>("server.extraEnv") ?? {}; } | 99 | get serverExtraEnv() { return this.get<Env | null>("server.extraEnv") ?? {}; } |
98 | get channel() { return this.get<UpdatesChannel>("updates.channel"); } | 100 | get channel() { return this.get<UpdatesChannel>("updates.channel"); } |
99 | get askBeforeDownload() { return this.get<boolean>("updates.askBeforeDownload"); } | 101 | get askBeforeDownload() { return this.get<boolean>("updates.askBeforeDownload"); } |
diff --git a/editors/code/src/main.ts b/editors/code/src/main.ts index 60907dfd4..4c132cabe 100644 --- a/editors/code/src/main.ts +++ b/editors/code/src/main.ts | |||
@@ -287,16 +287,15 @@ async function getServer(config: Config, state: PersistentState): Promise<string | |||
287 | }; | 287 | }; |
288 | if (config.package.releaseTag === null) return "rust-analyzer"; | 288 | if (config.package.releaseTag === null) return "rust-analyzer"; |
289 | 289 | ||
290 | let platform: string | undefined; | 290 | const platforms: { [key: string]: string } = { |
291 | if ((process.arch === "x64" || process.arch === "ia32") && process.platform === "win32") { | 291 | "ia32 win32": "x86_64-pc-windows-msvc", |
292 | platform = "x86_64-pc-windows-msvc"; | 292 | "x64 win32": "x86_64-pc-windows-msvc", |
293 | } else if (process.arch === "x64" && process.platform === "linux") { | 293 | "x64 linux": "x86_64-unknown-linux-gnu", |
294 | platform = "x86_64-unknown-linux-gnu"; | 294 | "x64 darwin": "x86_64-apple-darwin", |
295 | } else if (process.arch === "x64" && process.platform === "darwin") { | 295 | "arm64 win32": "aarch64-pc-windows-msvc", |
296 | platform = "x86_64-apple-darwin"; | 296 | "arm64 darwin": "aarch64-apple-darwin", |
297 | } else if (process.arch === "arm64" && process.platform === "darwin") { | 297 | }; |
298 | platform = "aarch64-apple-darwin"; | 298 | const platform = platforms[`${process.arch} ${process.platform}`]; |
299 | } | ||
300 | if (platform === undefined) { | 299 | if (platform === undefined) { |
301 | vscode.window.showErrorMessage( | 300 | vscode.window.showErrorMessage( |
302 | "Unfortunately we don't ship binaries for your platform yet. " + | 301 | "Unfortunately we don't ship binaries for your platform yet. " + |