argone
Most intuitive global cli maker. *(lazy_static + config-rs + clap)

| Docs | Latest Note |
[dependencies]
argone = "0.1"
Phases
- Clap Parse
- Clap None && [Config] marked -> Extract from Config
- Config None -> set Default(=)
Example
use argone::{ARGS, COMMANDS};
ARGS! {
version = "0.1"
author = "just-do-halee <just.do.halee@gmail.com>"
Config {
file = "loxconfig"
prefix = "LOX"
panic = ("couldn't find {} file.", "loxconfig")
}
Args {
[Config] rootDir: Option<PathBuf> = argone::CURRENT_DIR.clone()
#[clap(short, long, default_value = "test")]
name: String
#[clap(short, long, parse(from_occurrences))]
verbose: u8
}
commands = Sub
}
COMMANDS! {
Sub {
First {
version = "1.0"
author = "just-do-halee <just.do.halee@gmail.com>"
Args {
test: String
}
}
Second {
Args {
test: u8
}
}
}
}
println!("{:#?}", *ARGS);