Struct clap_builder::builder::PossibleValuesParser
source · pub struct PossibleValuesParser(_);
Expand description
Verify the value is from an enumerated set of PossibleValue
.
See also:
EnumValueParser
for directly supportingValueEnum
typesTypedValueParser::map
for adapting values to a more specialized type, like an external enums that can’t implementValueEnum
Example
Usage:
let mut cmd = clap::Command::new("raw")
.arg(
clap::Arg::new("color")
.value_parser(clap::builder::PossibleValuesParser::new(["always", "auto", "never"]))
.required(true)
);
let m = cmd.try_get_matches_from_mut(["cmd", "always"]).unwrap();
let port: &String = m.get_one("color")
.expect("required");
assert_eq!(port, "always");
Semantics:
let value_parser = clap::builder::PossibleValuesParser::new(["always", "auto", "never"]);
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("random")).is_err());
assert!(value_parser.parse_ref(&cmd, arg, OsStr::new("")).is_err());
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("always")).unwrap(), "always");
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("auto")).unwrap(), "auto");
assert_eq!(value_parser.parse_ref(&cmd, arg, OsStr::new("never")).unwrap(), "never");
Implementations§
source§impl PossibleValuesParser
impl PossibleValuesParser
sourcepub fn new(values: impl Into<PossibleValuesParser>) -> Self
pub fn new(values: impl Into<PossibleValuesParser>) -> Self
Verify the value is from an enumerated set of PossibleValue
.
Trait Implementations§
source§impl Clone for PossibleValuesParser
impl Clone for PossibleValuesParser
source§fn clone(&self) -> PossibleValuesParser
fn clone(&self) -> PossibleValuesParser
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 PossibleValuesParser
impl Debug for PossibleValuesParser
source§impl<I, T> From<I> for PossibleValuesParserwhere
I: IntoIterator<Item = T>,
T: Into<PossibleValue>,
impl<I, T> From<I> for PossibleValuesParserwhere I: IntoIterator<Item = T>, T: Into<PossibleValue>,
source§impl TypedValueParser for PossibleValuesParser
impl TypedValueParser for PossibleValuesParser
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 parse(
&self,
cmd: &Command,
arg: Option<&Arg>,
value: OsString
) -> Result<String, Error>
fn parse( &self, cmd: &Command, arg: Option<&Arg>, value: OsString ) -> Result<String, Error>
Parse the argument value Read more
source§fn possible_values(
&self
) -> Option<Box<dyn Iterator<Item = PossibleValue> + '_>>
fn possible_values( &self ) -> Option<Box<dyn Iterator<Item = PossibleValue> + '_>>
Reflect on enumerated value properties Read more