dotenv_config_ext 0.1.3

parse `env` to config struct for Rust
Documentation
use dotenv::dotenv;
use dotenv_config_ext::EnvConfig;

#[derive(Debug, EnvConfig)]
struct Config {
    #[env_config(default = "192.168.2.1")]
    server_addr: String,
    server_mode: bool,
    #[env_config(name = "ZINC_FOO", default = true)]
    foo: bool,
    #[env_config(name = "ZINC_BAR", default = 123456)]
    bar: Option<i64>,
    rr: Redis,
}

#[derive(Debug, EnvConfig)]
struct Redis {
    addr: String,
    port: String,
    auth: String,
    #[env_config(name = "ZINC_REDIS_TIMEOUT", default = 30)]
    timeout: i32,
}

macro_rules! aw {
    ($e:expr) => {
        tokio_test::block_on($e)
    };
  }

fn main() {
    dotenv().ok();
    let cfg = aw!(Config::init()).unwrap();
    println!("{:#?}", cfg);
}