1 //! How to use `arg_enum!` with `StructOpt`. 2 3 use clap::arg_enum; 4 use structopt::StructOpt; 5 6 arg_enum! { 7 #[derive(Debug)] 8 enum Baz { 9 Foo, 10 Bar, 11 FooBar 12 } 13 } 14 15 #[derive(StructOpt, Debug)] 16 struct Opt { 17 /// Important argument. 18 #[structopt(possible_values = &Baz::variants(), case_insensitive = true)] 19 i: Baz, 20 } 21 main()22fn main() { 23 let opt = Opt::from_args(); 24 println!("{:?}", opt); 25 } 26