vscode: fix extraEnv handling numeric values

This commit is contained in:
Jake Heinz 2022-05-24 02:59:19 +00:00
parent 7be85a5b4a
commit d1aa6d3216
2 changed files with 6 additions and 2 deletions

View file

@ -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."
},

View file

@ -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");