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