| 1 | fn main() { |
| 2 | let cmd = clap::Command::new("cargo" ) |
| 3 | .bin_name("cargo" ) |
| 4 | .subcommand_required(true) |
| 5 | .subcommand( |
| 6 | clap::command!("example" ).arg( |
| 7 | clap::arg!(--"manifest-path" <PATH>) |
| 8 | .value_parser(clap::value_parser!(std::path::PathBuf)), |
| 9 | ), |
| 10 | ); |
| 11 | let matches = cmd.get_matches(); |
| 12 | let matches = match matches.subcommand() { |
| 13 | Some(("example" , matches)) => matches, |
| 14 | _ => unreachable!("clap should ensure we don't get here" ), |
| 15 | }; |
| 16 | let manifest_path = matches.get_one::<std::path::PathBuf>("manifest-path" ); |
| 17 | println!("{manifest_path:?}" ); |
| 18 | } |
| 19 | |