aboutsummaryrefslogtreecommitdiff
path: root/argparse/examples/greeting.rs
diff options
context:
space:
mode:
Diffstat (limited to 'argparse/examples/greeting.rs')
-rw-r--r--argparse/examples/greeting.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/argparse/examples/greeting.rs b/argparse/examples/greeting.rs
new file mode 100644
index 0000000..77e719c
--- /dev/null
+++ b/argparse/examples/greeting.rs
@@ -0,0 +1,26 @@
+extern crate argparse;
+
+use argparse::{ArgumentParser, StoreTrue, Store, Print};
+
+fn main() {
+ let mut verbose = false;
+ let mut name = "World".to_string();
+ {
+ let mut ap = ArgumentParser::new();
+ ap.set_description("Greet somebody.");
+ ap.add_option(&["-V", "--version"],
+ Print(env!("CARGO_PKG_VERSION").to_string()), "Show version");
+ ap.refer(&mut verbose)
+ .add_option(&["-v", "--verbose"], StoreTrue,
+ "Be verbose");
+ ap.refer(&mut name)
+ .add_option(&["--name"], Store,
+ "Name for the greeting");
+ ap.parse_args_or_exit();
+ }
+
+ if verbose {
+ println!("name is {}", name);
+ }
+ println!("Hello {}!", name);
+}