You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
502 B

//! How to extract subcommands' args into external structs.
use structopt::StructOpt;
#[derive(Debug, StructOpt)]
pub struct Foo {
pub bar: Option<String>,
}
#[derive(Debug, StructOpt)]
pub enum Command {
#[structopt(name = "foo")]
Foo(Foo),
}
#[derive(Debug, StructOpt)]
#[structopt(name = "classify")]
pub struct ApplicationArguments {
#[structopt(subcommand)]
pub command: Command,
}
fn main() {
let opt = ApplicationArguments::from_args();
println!("{:?}", opt);
}