From 6c769ac00d12cc1436bdbb2bbbce80db0bb8d2d5 Mon Sep 17 00:00:00 2001 From: Andrei Listochkin Date: Wed, 11 May 2022 13:28:08 +0100 Subject: handle references to external environment variables use cross-env to enable env variables on Windows --- editors/code/src/config.ts | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'editors/code/src') diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 87cc2a395ba..cfbdd696652 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts @@ -232,7 +232,30 @@ export function substituteVariablesInEnv(env: Env): Env { })); const resolved = new Set(); - // TODO: handle missing dependencies + for (const dep of missingDeps) { + const match = /(?.*?):(?.+)/.exec(dep); + if (match) { + const { prefix, body } = match.groups!; + if (prefix === 'env') { + const envName = body; + envWithDeps[dep] = { + value: process.env[envName] ?? '', + deps: [] + }; + resolved.add(dep); + } else { + // we can't handle other prefixes at the moment + // leave values as is, but still mark them as resolved + envWithDeps[dep] = { + value: '${' + dep + '}', + deps: [] + }; + resolved.add(dep); + } + } else { + // TODO: handle VSCode variables + } + } const toResolve = new Set(Object.keys(envWithDeps)); let leftToResolveSize; -- cgit 1.4.1-3-g733a5