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