aboutsummaryrefslogtreecommitdiff
path: root/examples/enum_in_args.rs
diff options
context:
space:
mode:
authorMatthew Maurer <mmaurer@google.com>2020-06-02 11:15:15 -0700
committerMatthew Maurer <mmaurer@google.com>2020-06-02 11:15:15 -0700
commit32e766957bba962efbe9f27450d29b29b7746603 (patch)
tree4d1d77009e1e028d57f76a1068e815029edb53d2 /examples/enum_in_args.rs
parentaec9a0556c1eaec17d51413dcd065e0d1d85711c (diff)
downloadstructopt-32e766957bba962efbe9f27450d29b29b7746603.tar.gz
Import structopt-0.3.14
Change-Id: I03e7eaf9f442092701ce3175cb78c8ea2237f616
Diffstat (limited to 'examples/enum_in_args.rs')
-rw-r--r--examples/enum_in_args.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/examples/enum_in_args.rs b/examples/enum_in_args.rs
new file mode 100644
index 0000000..70347da
--- /dev/null
+++ b/examples/enum_in_args.rs
@@ -0,0 +1,25 @@
+//! How to use `arg_enum!` with `StructOpt`.
+
+use clap::arg_enum;
+use structopt::StructOpt;
+
+arg_enum! {
+ #[derive(Debug)]
+ enum Baz {
+ Foo,
+ Bar,
+ FooBar
+ }
+}
+
+#[derive(StructOpt, Debug)]
+struct Opt {
+ /// Important argument.
+ #[structopt(possible_values = &Baz::variants(), case_insensitive = true)]
+ i: Baz,
+}
+
+fn main() {
+ let opt = Opt::from_args();
+ println!("{:?}", opt);
+}