119625d8cSopenharmony_ciuse clap::FromArgMatches; 219625d8cSopenharmony_ciuse clap::Subcommand; 319625d8cSopenharmony_ci 419625d8cSopenharmony_cifn command() -> clap::Command { 519625d8cSopenharmony_ci let cmd = clap::Command::new("dynamic") 619625d8cSopenharmony_ci .arg( 719625d8cSopenharmony_ci clap::Arg::new("input") 819625d8cSopenharmony_ci .long("input") 919625d8cSopenharmony_ci .short('i') 1019625d8cSopenharmony_ci .value_hint(clap::ValueHint::FilePath), 1119625d8cSopenharmony_ci ) 1219625d8cSopenharmony_ci .arg( 1319625d8cSopenharmony_ci clap::Arg::new("format") 1419625d8cSopenharmony_ci .long("format") 1519625d8cSopenharmony_ci .short('F') 1619625d8cSopenharmony_ci .value_parser(["json", "yaml", "toml"]), 1719625d8cSopenharmony_ci ) 1819625d8cSopenharmony_ci .args_conflicts_with_subcommands(true); 1919625d8cSopenharmony_ci clap_complete::dynamic::bash::CompleteCommand::augment_subcommands(cmd) 2019625d8cSopenharmony_ci} 2119625d8cSopenharmony_ci 2219625d8cSopenharmony_cifn main() { 2319625d8cSopenharmony_ci let cmd = command(); 2419625d8cSopenharmony_ci let matches = cmd.get_matches(); 2519625d8cSopenharmony_ci if let Ok(completions) = 2619625d8cSopenharmony_ci clap_complete::dynamic::bash::CompleteCommand::from_arg_matches(&matches) 2719625d8cSopenharmony_ci { 2819625d8cSopenharmony_ci completions.complete(&mut command()); 2919625d8cSopenharmony_ci } else { 3019625d8cSopenharmony_ci println!("{:#?}", matches); 3119625d8cSopenharmony_ci } 3219625d8cSopenharmony_ci} 3319625d8cSopenharmony_ci 3419625d8cSopenharmony_ci#[test] 3519625d8cSopenharmony_cifn verify_cli() { 3619625d8cSopenharmony_ci command().debug_assert(); 3719625d8cSopenharmony_ci} 38