config_env_malformed

Diagnostic `nanook::config::env_malformed`

Summary

malformed environment placeholder

Help

expected env placeholder ${{NAME}} (optional :default suffix)

Details

When this fires

The env-substitution pass in crates/nanook-core/src/config/subst.rs saw a ${...} placeholder that doesn't parse. Either the closing } is missing, the variable name is empty, or the syntax around the optional default doesn't match. The diagnostic underlines the spot in nanook.toml where the bad placeholder starts, and you'll typically encounter this on nanook check or nanook run.

What to check

Shape is ${NAME} or ${NAME:default}, no spaces inside the braces. For a literal ${, escape per the substitution rules in subst.rs.

# bad
url = "https://${HOST"
# good
url = "https://${HOST:localhost}"