1use clap::Parser;
2
3#[derive(Parser)] // requires `derive` feature
4#[command(name = "cargo")]
5#[command(bin_name = "cargo")]
6enum CargoCli {
7 ExampleDerive(ExampleDeriveArgs),
8}
9
10#[derive(clap::Args)]
11#[command(author, version, about, long_about = None)]
12struct ExampleDeriveArgs {
13 #[arg(long)]
14 manifest_path: Option<std::path::PathBuf>,
15}
16
17fn main() {
18 let CargoCli::ExampleDerive(args) = CargoCli::parse();
19 println!("{:?}", args.manifest_path);
20}
21