Unnamed repository; edit this file 'description' to name the repository.
vscode: fix extraEnv handling numeric values
Jake Heinz 2022-05-24
parent 7be85a5 · commit d1aa6d3
-rw-r--r--editors/code/package.json3
-rw-r--r--editors/code/src/config.ts5
2 files changed, 6 insertions, 2 deletions
diff --git a/editors/code/package.json b/editors/code/package.json
index f46c7ea92d..1cbbe9ee71 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -308,6 +308,9 @@
"null",
"object"
],
+ "additionalProperties": {
+ "type": ["string", "number"]
+ },
"default": null,
"markdownDescription": "Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging."
},
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts
index 592ebe0ce3..9d9392d2a5 100644
--- a/editors/code/src/config.ts
+++ b/editors/code/src/config.ts
@@ -100,8 +100,9 @@ export class Config {
get serverPath() {
return this.get<null | string>("server.path") ?? this.get<null | string>("serverPath");
}
- get serverExtraEnv() {
- return this.get<Env | null>("server.extraEnv") ?? {};
+ get serverExtraEnv(): Env {
+ const extraEnv = this.get<{[key: string]: string | number} | null>("server.extraEnv") ?? {};
+ return Object.fromEntries(Object.entries(extraEnv).map(([k, v]) => [k, typeof v !== "string" ? v.toString(): v]));
}
get traceExtension() {
return this.get<boolean>("trace.extension");