blob: 59b93456f6c68e9b0d5b0403f0132b71868ef64f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
extern crate argparse;
use std::process::exit;
use argparse::{ArgumentParser, StoreTrue, Store};
struct Options {
verbose: bool,
name: String,
}
fn main() {
let mut options = Options {
verbose: false,
name: "World".to_string(),
};
{
let mut ap = ArgumentParser::new();
ap.set_description("Greet somebody.");
ap.refer(&mut options.verbose)
.add_option(&["-v", "--verbose"], StoreTrue,
"Be verbose");
ap.refer(&mut options.name)
.add_option(&["--name"], Store,
"Name for the greeting");
match ap.parse_args() {
Ok(()) => {}
Err(x) => {
exit(x);
}
}
}
if options.verbose {
println!("name is {}", options.name);
}
println!("Hello {}!", options.name);
}
|