#### zflags A gflags style implementation based clap ##### Example: ``` #[macro_use] extern crate zflags; static V1: zflags::optv = option!(None, "x", "exec", None, 8, None); static V2: zflags::optv = option!("fi", "x", "exec", None, None, "help"); static V3: zflags::optv = option!("s2", "x", "exec", "file", "ls", None); mod sub { static V: zflags::optv = option!(None, "d", None, "day", "1970-1-1", "default date"); pub fn print() { let date = V.str().unwrap(); println!("date {}", date); } } fn main() { option_parse!("clap", "v0.1.0"); let s1: i32 = V1.parse().unwrap(); println!("{}", s1); match V2.parse::() { Ok(n) => println!("fi -x {}", n), Err(s) => println!("{}", s), } match V3.str() { Ok(n) => println!("s2 -x {}", n), Err(s) => println!("{}", s), } } ``` output: ``` zylthinking@linux:~/code/flags/tests$ ./clap -h clap v0.1.0 USAGE: clap [OPTIONS] [SUBCOMMAND] FLAGS: -h, --help Prints help information -V, --version Prints version information OPTIONS: -x, --exec [default: 8] -d default date [default: "1970-1-1"] SUBCOMMANDS: fi help Prints this message or the help of the given subcommand(s) s2 zylthinking@linux:~/code/flags/tests$ ./clap -d 2021-11-16 s2 -x bash 8 not in subcommand context s2 -x bash date 2021-11-16 ```