1extern crate argparse;
2
3use argparse::{ArgumentParser, StoreTrue, Store, Print};
4
5fn main() {
6 let mut verbose = false;
7 let mut name = "World".to_string();
8 {
9 let mut ap = ArgumentParser::new();
10 ap.set_description("Greet somebody.");
11 ap.add_option(&["-V", "--version"],
12 Print(env!("CARGO_PKG_VERSION").to_string()), "Show version");
13 ap.refer(&mut verbose)
14 .add_option(&["-v", "--verbose"], StoreTrue,
15 "Be verbose");
16 ap.refer(&mut name)
17 .add_option(&["--name"], Store,
18 "Name for the greeting");
19 ap.parse_args_or_exit();
20 }
21
22 if verbose {
23 println!("name is {}", name);
24 }
25 println!("Hello {}!", name);
26}