use gumdrop::Options;
#[derive(Debug, Options)]
struct MyOptions {
#[options(free)]
free: Vec<String>,
#[options(help = "print help message")]
help: bool,
#[options(help = "give a string argument")]
string: Option<String>,
#[options(help = "give a number as an argument", meta = "N")]
number: Option<i32>,
#[options(help = "give a list of string items")]
item: Vec<String>,
#[options(count, help = "increase a counting value")]
count: u32,
#[options(no_short, help = "this option has no short form")]
long_option_only: bool,
}
fn main() {
let opts = MyOptions::parse_args_default_or_exit();
println!("{:#?}", opts);
}