Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'editors/code/src/config.ts')
| -rw-r--r-- | editors/code/src/config.ts | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index 87cc2a395b..cfbdd69665 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<string>(); - // TODO: handle missing dependencies + for (const dep of missingDeps) { + const match = /(?<prefix>.*?):(?<body>.+)/.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; |