1 use clap::{Command, FromArgMatches as _, Parser, Subcommand as _}; 2 3 #[derive(Parser, Debug)] 4 enum Subcommands { 5 Derived { 6 #[arg(short, long)] 7 derived_flag: bool, 8 }, 9 } 10 main()11fn main() { 12 let cli = Command::new("Built CLI"); 13 // Augment with derived subcommands 14 let cli = Subcommands::augment_subcommands(cli); 15 16 let matches = cli.get_matches(); 17 let derived_subcommands = Subcommands::from_arg_matches(&matches) 18 .map_err(|err| err.exit()) 19 .unwrap(); 20 println!("Derived subcommands: {derived_subcommands:#?}"); 21 } 22