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", "null",
"object" "object"
], ],
"additionalProperties": {
"type": ["string", "number"]
},
"default": null, "default": null,
"markdownDescription": "Extra environment variables that will be passed to the rust-analyzer executable. Useful for passing e.g. `RA_LOG` for debugging." "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() { get serverPath() {
return this.get<null | string>("server.path") ?? this.get<null | string>("serverPath"); return this.get<null | string>("server.path") ?? this.get<null | string>("serverPath");
} }
get serverExtraEnv() { get serverExtraEnv(): Env {
return this.get<Env | null>("server.extraEnv") ?? {}; 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() { get traceExtension() {
return this.get<boolean>("trace.extension"); return this.get<boolean>("trace.extension");