| use clap::{Command, FromArgMatches as _, Parser, Subcommand as _}; |
| |
| #[derive(Parser, Debug)] |
| enum Subcommands { |
| Derived { |
| #[clap(short, long, action)] |
| 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); |
| } |