aboutsummaryrefslogtreecommitdiff
path: root/clap/examples/16_app_settings.rs
diff options
context:
space:
mode:
Diffstat (limited to 'clap/examples/16_app_settings.rs')
-rw-r--r--clap/examples/16_app_settings.rs41
1 files changed, 0 insertions, 41 deletions
diff --git a/clap/examples/16_app_settings.rs b/clap/examples/16_app_settings.rs
deleted file mode 100644
index ab1d185..0000000
--- a/clap/examples/16_app_settings.rs
+++ /dev/null
@@ -1,41 +0,0 @@
-extern crate clap;
-
-use clap::{App, AppSettings, SubCommand};
-
-fn main() {
- // You can use AppSettings to change the application level behavior of clap. .setting() function
- // of App struct takes AppSettings enum as argument. There is also .settings() function which
- // takes slice of AppSettings enum. You can learn more about AppSettings in the documentation,
- // which also has examples on each setting.
- //
- // This example will only show usage of one AppSettings setting. See documentation for more
- // information.
-
- let matches = App::new("myapp")
- .setting(AppSettings::SubcommandsNegateReqs)
- // Negates requirement of parent command.
-
- .arg_from_usage("<input> 'input file to use'")
- // Required positional argument called input. This
- // will be only required if subcommand is not present.
-
- .subcommand(SubCommand::with_name("test")
- .about("does some testing"))
- // if program is invoked with subcommand, you do not
- // need to specify the <input> argument anymore due to
- // the AppSettings::SubcommandsNegateReqs setting.
-
- .get_matches();
-
- // Calling unwrap() on "input" would not be advised here, because although it's required,
- // if the user uses a subcommand, those requirements are no longer required. Hence, we should
- // use some sort of 'if let' construct
- if let Some(inp) = matches.value_of("input") {
- println!("The input file is: {}", inp);
- }
-
- match matches.subcommand() {
- ("test", _) => println!("The 'test' subcommand was used"),
- _ => unreachable!()
- }
-}