1 //! How to extract subcommands' args into external structs. 2 3 use structopt::StructOpt; 4 5 #[derive(Debug, StructOpt)] 6 pub struct Foo { 7 pub bar: Option<String>, 8 } 9 10 #[derive(Debug, StructOpt)] 11 pub enum Command { 12 #[structopt(name = "foo")] 13 Foo(Foo), 14 } 15 16 #[derive(Debug, StructOpt)] 17 #[structopt(name = "classify")] 18 pub struct ApplicationArguments { 19 #[structopt(subcommand)] 20 pub command: Command, 21 } 22 main()23fn main() { 24 let opt = ApplicationArguments::from_args(); 25 println!("{:?}", opt); 26 } 27