mirror of
https://github.com/clap-rs/clap
synced 2024-12-15 07:12:32 +00:00
f32d640d49
Inspired by https://github.com/clap-rs/clap/discussions/3342 Looks like we already cover this in the derive reference.
24 lines
769 B
Rust
24 lines
769 B
Rust
use clap::{app_from_crate, arg, App, AppSettings};
|
|
|
|
fn main() {
|
|
let matches = app_from_crate!()
|
|
.global_setting(AppSettings::PropagateVersion)
|
|
.global_setting(AppSettings::UseLongFormatForHelpSubcommand)
|
|
.setting(AppSettings::SubcommandRequiredElseHelp)
|
|
.subcommand(
|
|
App::new("add")
|
|
.about("Adds files to myapp")
|
|
.arg(arg!([NAME])),
|
|
)
|
|
.get_matches();
|
|
|
|
match matches.subcommand() {
|
|
Some(("add", sub_matches)) => println!(
|
|
"'myapp add' was used, name is: {:?}",
|
|
sub_matches.value_of("NAME")
|
|
),
|
|
_ => unreachable!(
|
|
"Exhausted list of subcommands and SubcommandRequiredElseHelp prevents `None`"
|
|
),
|
|
}
|
|
}
|