Struct clap::builder::BoolishValueParser
source · #[non_exhaustive]pub struct BoolishValueParser {}
Expand description
Parse bool-like string values, everything else is true
See also:
ValueParser::bool
for different human readable bool representationsFalseyValueParser
for assuming non-false is true
§Example
Usage:
let mut cmd = clap::Command::new("raw")
.arg(
clap::Arg::new("append")
.value_parser(clap::builder::BoolishValueParser::new())
.required(true)
);
let m = cmd.try_get_matches_from_mut(["cmd", "true"]).unwrap();
let port: bool = *m.get_one("append")
.expect("required");
assert_eq!(port, true);
Semantics:
let value_parser = clap::builder::BoolishValueParser::new();
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("random")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("100")).is_err());
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("true")).unwrap(), true);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("Yes")).unwrap(), true);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("oN")).unwrap(), true);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("1")).unwrap(), true);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("false")).unwrap(), false);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("No")).unwrap(), false);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("oFF")).unwrap(), false);
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("0")).unwrap(), false);
Implementations§
Trait Implementations§
source§impl Clone for BoolishValueParser
impl Clone for BoolishValueParser
source§fn clone(&self) -> BoolishValueParser
fn clone(&self) -> BoolishValueParser
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for BoolishValueParser
impl Debug for BoolishValueParser
source§impl Default for BoolishValueParser
impl Default for BoolishValueParser
source§impl TypedValueParser for BoolishValueParser
impl TypedValueParser for BoolishValueParser
source§fn parse_ref(
&self,
cmd: &Command<'_>,
arg: Option<&Arg<'_>>,
value: &OsStr,
) -> Result<Self::Value, Error>
fn parse_ref( &self, cmd: &Command<'_>, arg: Option<&Arg<'_>>, value: &OsStr, ) -> Result<Self::Value, Error>
Parse the argument value Read more
source§fn possible_values(
&self,
) -> Option<Box<dyn Iterator<Item = PossibleValue<'static>> + '_>>
fn possible_values( &self, ) -> Option<Box<dyn Iterator<Item = PossibleValue<'static>> + '_>>
Reflect on enumerated value properties Read more
impl Copy for BoolishValueParser
Auto Trait Implementations§
impl Freeze for BoolishValueParser
impl RefUnwindSafe for BoolishValueParser
impl Send for BoolishValueParser
impl Sync for BoolishValueParser
impl Unpin for BoolishValueParser
impl UnwindSafe for BoolishValueParser
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)