diff options
Diffstat (limited to 'editors/code/src/config.ts')
-rw-r--r-- | editors/code/src/config.ts | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index d5f3da2ed..418845436 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -64,9 +64,24 @@ export class Config { | |||
64 | * `platform` on GitHub releases. (It is also stored under the same name when | 64 | * `platform` on GitHub releases. (It is also stored under the same name when |
65 | * downloaded by the extension). | 65 | * downloaded by the extension). |
66 | */ | 66 | */ |
67 | private static prebuiltLangServerFileName(platform: NodeJS.Platform): null | string { | 67 | private static prebuiltLangServerFileName( |
68 | platform: NodeJS.Platform, | ||
69 | arch: string | ||
70 | ): null | string { | ||
71 | // See possible `arch` values here: | ||
72 | // https://nodejs.org/api/process.html#process_process_arch | ||
73 | |||
68 | switch (platform) { | 74 | switch (platform) { |
69 | case "linux": return "ra_lsp_server-linux"; | 75 | |
76 | case "linux": { | ||
77 | switch (arch) { | ||
78 | case "arm": | ||
79 | case "arm64": return null; | ||
80 | |||
81 | default: return "ra_lsp_server-linux"; | ||
82 | } | ||
83 | } | ||
84 | |||
70 | case "darwin": return "ra_lsp_server-mac"; | 85 | case "darwin": return "ra_lsp_server-mac"; |
71 | case "win32": return "ra_lsp_server-windows.exe"; | 86 | case "win32": return "ra_lsp_server-windows.exe"; |
72 | 87 | ||
@@ -95,7 +110,9 @@ export class Config { | |||
95 | }; | 110 | }; |
96 | } | 111 | } |
97 | 112 | ||
98 | const prebuiltBinaryName = Config.prebuiltLangServerFileName(process.platform); | 113 | const prebuiltBinaryName = Config.prebuiltLangServerFileName( |
114 | process.platform, process.arch | ||
115 | ); | ||
99 | 116 | ||
100 | if (!prebuiltBinaryName) return null; | 117 | if (!prebuiltBinaryName) return null; |
101 | 118 | ||