@@ -287,12 +287,14 @@ async function getServer(config: Config, state: PersistentState): Promise<string
287
287
if ( config . package . releaseTag === null ) return "rust-analyzer" ;
288
288
289
289
let platform : string | undefined ;
290
- if ( process . arch === "x64" || process . arch === "ia32" ) {
291
- if ( process . platform === "linux" ) platform = "linux" ;
292
- if ( process . platform === "darwin" ) platform = "mac" ;
293
- if ( process . platform === "win32" ) platform = "windows" ;
290
+ if ( ( process . arch === "x64" || process . arch === "ia32" ) && process . platform === "win32" ) {
291
+ platform = "x86_64-pc-windows-msvc" ;
292
+ } else if ( process . arch === "x64" && process . platform === "linux" ) {
293
+ platform = "x86_64-unknown-linux-gnu" ;
294
+ } else if ( process . arch === "x64" && process . platform === "darwin" ) {
295
+ platform = "x86_64-apple-darwin" ;
294
296
} else if ( process . arch === "arm64" && process . platform === "darwin" ) {
295
- platform = "mac " ;
297
+ platform = "aarch64-apple-darwin " ;
296
298
}
297
299
if ( platform === undefined ) {
298
300
vscode . window . showErrorMessage (
@@ -305,7 +307,7 @@ async function getServer(config: Config, state: PersistentState): Promise<string
305
307
) ;
306
308
return undefined ;
307
309
}
308
- const ext = platform === "windows" ? ".exe" : "" ;
310
+ const ext = platform . indexOf ( "-windows-" ) !== - 1 ? ".exe" : "" ;
309
311
const dest = path . join ( config . globalStoragePath , `rust-analyzer-${ platform } ${ ext } ` ) ;
310
312
const exists = await fs . stat ( dest ) . then ( ( ) => true , ( ) => false ) ;
311
313
if ( ! exists ) {
0 commit comments