//! 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); | |
} |