diff options
| author | Jake Heinz <jh@discordapp.com> | 2022-05-24 02:59:19 +0000 |
|---|---|---|
| committer | Jake Heinz <jh@discordapp.com> | 2022-05-24 03:00:29 +0000 |
| commit | d1aa6d32167be4b4916399f87520e3c3cea44aed (patch) | |
| tree | ef37b2b3fdc2034032274496fbf76dbe6afcefc6 | |
| parent | 7be85a5b4a218ad0b39b63fac0283e4f4917378f (diff) | |
vscode: fix extraEnv handling numeric values
| -rw-r--r-- | editors/code/package.json | 3 | ||||
| -rw-r--r-- | editors/code/src/config.ts | 5 |
2 files changed, 6 insertions, 2 deletions
diff --git a/editors/code/package.json b/editors/code/package.json index f46c7ea92d3..1cbbe9ee71d 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 592ebe0ce33..9d9392d2a5e 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"); |
