mirror of
https://github.com/clap-rs/clap
synced 2024-11-15 00:57:15 +00:00
272f840178
This is a part of #2717 Some settings didn't get getters because - They are transient parse settings (e.g. ignore errors) - They get propagated to args and should be checked there `is_allow_hyphen_values_set` is a curious case. In some cases, we only check the app and not an arg. This seems suspicious.
20 lines
706 B
Rust
20 lines
706 B
Rust
// Note: this requires the `unstable-multicall` feature
|
|
|
|
use clap::App;
|
|
|
|
fn main() {
|
|
let app = App::new(env!("CARGO_CRATE_NAME"))
|
|
.arg_required_else_help(true)
|
|
.subcommand_value_name("APPLET")
|
|
.subcommand_help_heading("APPLETS")
|
|
.subcommand(App::new("hostname").about("show hostname part of FQDN"))
|
|
.subcommand(App::new("dnsdomainname").about("show domain name part of FQDN"));
|
|
|
|
let app = app.multicall(true);
|
|
|
|
match app.get_matches().subcommand_name() {
|
|
Some("hostname") => println!("www"),
|
|
Some("dnsdomainname") => println!("example.com"),
|
|
_ => unreachable!("parser should ensure only valid subcommand names are used"),
|
|
}
|
|
}
|