aboutsummaryrefslogtreecommitdiff
path: root/editors/code/src/config.ts
diff options
context:
space:
mode:
Diffstat (limited to 'editors/code/src/config.ts')
-rw-r--r--editors/code/src/config.ts23
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