summaryrefslogtreecommitdiffstats
path: root/third_party/rust/clap/examples/multicall-hostname.rs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--third_party/rust/clap/examples/multicall-hostname.rs19
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"),
+ }
+}