| use clap::{Command, FromArgMatches as _, Parser, Subcommand as _}; | |
| #[derive(Parser, Debug)] | |
| enum Subcommands { | |
| Derived { | |
| #[arg(short, long)] | |
| derived_flag: bool, | |
| }, | |
| } | |
| fn main() { | |
| let cli = Command::new("Built CLI"); | |
| // Augment with derived subcommands | |
| let cli = Subcommands::augment_subcommands(cli); | |
| let matches = cli.get_matches(); | |
| let derived_subcommands = Subcommands::from_arg_matches(&matches) | |
| .map_err(|err| err.exit()) | |
| .unwrap(); | |
| println!("Derived subcommands: {:#?}", derived_subcommands); | |
| } |