use clap::Parser; | |
#[derive(Parser)] // requires `derive` feature | |
#[command(name = "cargo")] | |
#[command(bin_name = "cargo")] | |
enum CargoCli { | |
ExampleDerive(ExampleDeriveArgs), | |
} | |
#[derive(clap::Args)] | |
#[command(author, version, about, long_about = None)] | |
struct ExampleDeriveArgs { | |
#[arg(long)] | |
manifest_path: Option<std::path::PathBuf>, | |
} | |
fn main() { | |
let CargoCli::ExampleDerive(args) = CargoCli::parse(); | |
println!("{:?}", args.manifest_path); | |
} |