diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/rust/clap/examples/multicall-hostname.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/third_party/rust/clap/examples/multicall-hostname.rs b/third_party/rust/clap/examples/multicall-hostname.rs new file mode 100644 index 0000000000..2c89a14484 --- /dev/null +++ b/third_party/rust/clap/examples/multicall-hostname.rs @@ -0,0 +1,19 @@ +// Note: this requires the `unstable-multicall` feature + +use clap::Command; + +fn main() { + let cmd = Command::new(env!("CARGO_CRATE_NAME")) + .multicall(true) + .arg_required_else_help(true) + .subcommand_value_name("APPLET") + .subcommand_help_heading("APPLETS") + .subcommand(Command::new("hostname").about("show hostname part of FQDN")) + .subcommand(Command::new("dnsdomainname").about("show domain name part of FQDN")); + + match cmd.get_matches().subcommand_name() { + Some("hostname") => println!("www"), + Some("dnsdomainname") => println!("example.com"), + _ => unreachable!("parser should ensure only valid subcommand names are used"), + } +} |