nested-env-parser

Crates.ionested-env-parser
lib.rsnested-env-parser
version1.1.0
sourcesrc
created_at2023-05-12 05:59:51.376586
updated_at2023-05-31 16:35:13.008871
descriptionNested Env Parser is a crate for getting the final value of a string with nested environment variables.
homepage
repositoryhttps://github.com/erritis/nested-env-parser
max_upload_size
id862715
size9,010
Zeritiq (zeritiq)

documentation

https://docs.rs/nested-env-parser

README

crates.io documentation MIT License

nested-env-parser

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);
}

Current version: 1.1.0

License: MIT

Commit count: 4

cargo fmt