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 | |
11 | fn 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 | |