Nested Env Parser is a crate for getting the final value of a string with nested environment variables.
Install using cargo:
cargo install nested-env-parser
use clap::Parser;
use nested_env_parser::Env;
#[derive(Clone, Debug, Parser)]
struct Opts {
#[clap(env)]
value_with_env: Env,
}
fn main() {
std::env::set_var("VALUE1", "Hello,");
std::env::set_var("VALUE2", "world");
std::env::set_var("VALUE_WITH_ENV", "$VALUE1 ${VALUE2}!");
let opts = Opts::parse();
assert_eq!("Hello, world!", &opts.value_with_env);
}
use clap::Parser;
use nested_env_parser::Env;
#[derive(Clone, Debug, Parser)]
struct Opts {
#[clap(env)]
value_with_env: Env,
}
fn main() {
std::env::set_var("VALUE1", "Hello");
std::env::set_var("VALUE2", "world");
std::env::set_var("VALUE_WITH_ENV", "%VALUE1%, %VALUE2%!");
let opts = Opts::parse();
assert_eq!("Hello, world!", &opts.value_with_env);
}
Current version: 1.1.0
License: MIT