structopt v0.2.16 Release Notes
Release Date: 2019-05-29 // almost 5 years ago-
👌 Support optional options with optional argument, allowing
cmd [--opt[=value]]
by @sphynx (#188)Sometimes you want to represent an optional option that optionally takes an argument, i.e
[--opt[=value]]
. This is represented byOption<Option<T>>
#[derive(StructOpt)] struct Opt { #[structopt(long)] fruit: Option<Option<String>>, } fn main() { assert_eq!(Opt::from_args(&["test"]), None); assert_eq!(Opt::from_args(&["test", "--fruit"]), Some(None)); assert_eq!(Opt::from_args(&["test", "--fruit=apple"]), Some("apple")); }