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