Crate nested_env_parser
source ·Expand description
Nested Env Parser is a crate for getting the final value of a string with nested environment variables.
installation
Install using cargo:
ⓘ
cargo install nested-env-parser
Usage
On Unix
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);
}
On Windows
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);
}
Structs
- String with nested environment variables