diff options
Diffstat (limited to 'clap/examples/01b_quick_example.rs')
-rw-r--r-- | clap/examples/01b_quick_example.rs | 93 |
1 files changed, 0 insertions, 93 deletions
diff --git a/clap/examples/01b_quick_example.rs b/clap/examples/01b_quick_example.rs deleted file mode 100644 index 7f455a8..0000000 --- a/clap/examples/01b_quick_example.rs +++ /dev/null @@ -1,93 +0,0 @@ -extern crate clap; - -use clap::{App, Arg, SubCommand}; - -fn main() { - - // This method shows the traditional, and slightly more configurable way to set up arguments. This method is - // more verbose, but allows setting more configuration options, and even supports easier dynamic generation. - // - // The example below is functionally identical to the 01a_quick_example.rs and 01c_quick_example.rs - // - // *NOTE:* You can actually achieve the best of both worlds by using Arg::from_usage() (instead of Arg::with_name()) - // and *then* setting any additional properties. - // - // Create an application with 5 possible arguments (2 auto generated) and 2 subcommands (1 auto generated) - // - A config file - // + Uses "-c filename" or "--config filename" - // - An output file - // + A positional argument (i.e. "$ myapp output_filename") - // - A debug flag - // + Uses "-d" or "--debug" - // + Allows multiple occurrences of such as "-dd" (for vary levels of debugging, as an example) - // - A help flag (automatically generated by clap) - // + Uses "-h" or "--help" (Only autogenerated if you do NOT specify your own "-h" or "--help") - // - A version flag (automatically generated by clap) - // + Uses "-V" or "--version" (Only autogenerated if you do NOT specify your own "-V" or "--version") - // - A subcommand "test" (subcommands behave like their own apps, with their own arguments - // + Used by "$ myapp test" with the following arguments - // > A list flag - // = Uses "-l" (usage is "$ myapp test -l" - // > A help flag (automatically generated by clap - // = Uses "-h" or "--help" (full usage "$ myapp test -h" or "$ myapp test --help") - // > A version flag (automatically generated by clap - // = Uses "-V" or "--version" (full usage "$ myapp test -V" or "$ myapp test --version") - // - A subcommand "help" (automatically generated by clap because we specified a subcommand of our own) - // + Used by "$ myapp help" (same functionality as "-h" or "--help") - let matches = App::new("MyApp") - .version("1.0") - .author("Kevin K. <kbknapp@gmail.com>") - .about("Does awesome things") - .arg(Arg::with_name("config") - .short("c") - .long("config") - .value_name("FILE") - .help("Sets a custom config file") - .takes_value(true)) - .arg(Arg::with_name("output") - .help("Sets an optional output file") - .index(1)) - .arg(Arg::with_name("debug") - .short("d") - .multiple(true) - .help("Turn debugging information on")) - .subcommand(SubCommand::with_name("test") - .about("does testing things") - .arg(Arg::with_name("list") - .short("l") - .help("lists test values"))) - .get_matches(); - - // You can check the value provided by positional arguments, or option arguments - if let Some(o) = matches.value_of("output") { - println!("Value for output: {}", o); - } - - if let Some(c) = matches.value_of("config") { - println!("Value for config: {}", c); - } - - // You can see how many times a particular flag or argument occurred - // Note, only flags can have multiple occurrences - match matches.occurrences_of("debug") { - 0 => println!("Debug mode is off"), - 1 => println!("Debug mode is kind of on"), - 2 => println!("Debug mode is on"), - 3 | _ => println!("Don't be crazy"), - } - - // You can check for the existence of subcommands, and if found use their - // matches just as you would the top level app - if let Some(matches) = matches.subcommand_matches("test") { - // "$ myapp test" was run - if matches.is_present("list") { - // "$ myapp test -l" was run - println!("Printing testing lists..."); - } else { - println!("Not printing testing lists..."); - } - } - - - // Continued program logic goes here... -} |