//! How to extract subcommands' args into external structs. //! //! Running this example with --help prints this message: //! ----------------------------------------------------- //! classify 0.3.25 //! //! USAGE: //! enum_tuple //! //! FLAGS: //! -h, --help Prints help information //! -V, --version Prints version information //! //! SUBCOMMANDS: //! foo //! help Prints this message or the help of the given subcommand(s) //! ----------------------------------------------------- use structopt::StructOpt; #[derive(Debug, StructOpt)] pub struct Foo { pub bar: Option, } #[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); }