summaryrefslogtreecommitdiffstats
path: root/vendor/clap/examples/tutorial_derive/01_quick.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/clap/examples/tutorial_derive/01_quick.rs')
-rw-r--r--vendor/clap/examples/tutorial_derive/01_quick.rs69
1 files changed, 0 insertions, 69 deletions
diff --git a/vendor/clap/examples/tutorial_derive/01_quick.rs b/vendor/clap/examples/tutorial_derive/01_quick.rs
deleted file mode 100644
index 2c2031061..000000000
--- a/vendor/clap/examples/tutorial_derive/01_quick.rs
+++ /dev/null
@@ -1,69 +0,0 @@
-use std::path::PathBuf;
-
-use clap::{Parser, Subcommand};
-
-#[derive(Parser)]
-#[clap(author, version, about, long_about = None)]
-struct Cli {
- /// Optional name to operate on
- #[clap(value_parser)]
- name: Option<String>,
-
- /// Sets a custom config file
- #[clap(short, long, value_parser, value_name = "FILE")]
- config: Option<PathBuf>,
-
- /// Turn debugging information on
- #[clap(short, long, action = clap::ArgAction::Count)]
- debug: u8,
-
- #[clap(subcommand)]
- command: Option<Commands>,
-}
-
-#[derive(Subcommand)]
-enum Commands {
- /// does testing things
- Test {
- /// lists test values
- #[clap(short, long, action)]
- list: bool,
- },
-}
-
-fn main() {
- let cli = Cli::parse();
-
- // You can check the value provided by positional arguments, or option arguments
- if let Some(name) = cli.name.as_deref() {
- println!("Value for name: {}", name);
- }
-
- if let Some(config_path) = cli.config.as_deref() {
- println!("Value for config: {}", config_path.display());
- }
-
- // You can see how many times a particular flag or argument occurred
- // Note, only flags can have multiple occurrences
- match cli.debug {
- 0 => println!("Debug mode is off"),
- 1 => println!("Debug mode is kind of on"),
- 2 => println!("Debug mode is on"),
- _ => 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 cmd
- match &cli.command {
- Some(Commands::Test { list }) => {
- if *list {
- println!("Printing testing lists...");
- } else {
- println!("Not printing testing lists...");
- }
- }
- None => {}
- }
-
- // Continued program logic goes here...
-}