diff options
| author | tv <tv@krebsco.de> | 2026-10-26 23:09:51 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-10-26 23:16:26 +0100 |
| commit | 932efcc8db81eda6f1d91fda74d002c0aecd6629 (patch) | |
| tree | 3ce99193569d9fbb9c141d0e20ca37ff78fd10c6 /src/config/mod.rs | |
| parent | c102987ebccc90706139e9c8cbc4e8a5323e9aa4 (diff) | |
allow placeholders everywhere in config
Diffstat (limited to 'src/config/mod.rs')
| -rw-r--r-- | src/config/mod.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/config/mod.rs b/src/config/mod.rs index c8bfa9f..fd8547d 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -662,6 +662,13 @@ fn resolve_file_value( )), None => bail!("a table here must be an importer (env, file or command)"), }, + JsonValue::String(text) => match import::interpolated(&text, Some(dir)) { + Some(importer) => Ok(( + from_import(spec.kind, &importer)?, + vec![importer.describe()], + )), + None => Ok((JsonValue::String(text), Vec::new())), + }, JsonValue::Array(items) if spec.kind == Kind::List => { let mut imports = Vec::new(); let mut values = Vec::new(); @@ -677,6 +684,13 @@ fn resolve_file_value( } imports.push(importer.describe()); } + JsonValue::String(text) => match import::interpolated(&text, Some(dir)) { + Some(importer) => { + values.push(from_import(Kind::Text, &importer)?); + imports.push(importer.describe()); + } + None => values.push(JsonValue::String(text)), + }, other => values.push(other), } } |
