Struct ValueParser
struct ValueParser(_)
Parse/validate argument values
Specified with [Arg::value_parser][crate::Arg::value_parser].
ValueParser defines how to convert a raw argument value into a validated and typed value for
use within an application.
See
- [
value_parser!][crate::value_parser] for automatically selecting an implementation for a given type ValueParser::newfor additionalTypedValueParserthat can be used
Example
# use clap_builder as clap;
let mut cmd = new
.arg
.arg
.arg;
let m = cmd.try_get_matches_from_mut.unwrap;
let color: &String = m.get_one
.expect;
assert_eq!;
let hostname: &String = m.get_one
.expect;
assert_eq!;
let port: u16 = *m.get_one
.expect;
assert_eq!;
Implementations
impl ValueParser
fn type_id(self: &Self) -> AnyValueIdDescribes the content of
AnyValuefn possible_values(self: &Self) -> Option<Box<dyn Iterator<Item = PossibleValue> + '_>>Reflect on enumerated value properties
Error checking should not be done with this; it is mostly targeted at user-facing applications like errors and completion.
impl ValueParser
fn new<P>(other: P) -> Self where P: TypedValueParserCustom parser for argument values
Pre-existing
TypedValueParserimplementations include:Fn(&str) -> Result<T, E>EnumValueParserandPossibleValuesParserfor static enumerated valuesBoolishValueParserandFalseyValueParserfor alternativeboolimplementationsRangedI64ValueParserandRangedU64ValueParserNonEmptyStringValueParser
Example
# use clap_builder as clap; type EnvVar = ; let mut cmd = new .arg; let m = cmd.try_get_matches_from_mut.unwrap; let port: &EnvVar = m.get_one .expect; assert_eq!;const fn bool() -> Selfboolparser for argument valuesSee also:
BoolishValueParserfor different human readable bool representationsFalseyValueParserfor assuming non-false is true
Example
# use clap_builder as clap; let mut cmd = new .arg; let m = cmd.try_get_matches_from_mut.unwrap; let port: bool = *m.get_one .expect; assert_eq!; assert!;const fn string() -> SelfStringparser for argument valuesSee also:
Example
# use clap_builder as clap; let mut cmd = new .arg; let m = cmd.try_get_matches_from_mut.unwrap; let port: &String = m.get_one .expect; assert_eq!;const fn os_string() -> Self[
OsString][std::ffi::OsString] parser for argument valuesExample
#const fn path_buf() -> Self[
PathBuf][std::path::PathBuf] parser for argument valuesExample
# use clap_builder as clap; # use PathBuf; # use Path; let mut cmd = new .arg; let m = cmd.try_get_matches_from_mut.unwrap; let port: &PathBuf = m.get_one .expect; assert_eq!; assert!;
impl Clone for ValueParser
fn clone(self: &Self) -> Self
impl Debug for ValueParser
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result<(), Error>
impl Freeze for ValueParser
impl From for ValueParser
fn from(value: RangeTo<i64>) -> Self
impl From for ValueParser
fn from(value: RangeInclusive<i64>) -> Self
impl From for ValueParser
fn from(value: RangeToInclusive<i64>) -> Self
impl From for ValueParser
fn from(value: RangeFrom<i64>) -> Self
impl From for ValueParser
fn from(value: Range<i64>) -> Self
impl From for ValueParser
fn from(value: RangeFull) -> Self
impl RefUnwindSafe for ValueParser
impl Send for ValueParser
impl Sync for ValueParser
impl Unpin for ValueParser
impl UnsafeUnpin for ValueParser
impl UnwindSafe for ValueParser
impl<I> IntoResettable for ValueParser
fn into_resettable(self: Self) -> Resettable<ValueParser>
impl<P> From for ValueParser
fn from(p: P) -> Self
impl<P> From for ValueParser
fn from(values: Vec<P>) -> Self
impl<P, C: usize> From for ValueParser
fn from(values: [P; C]) -> Self
impl<T> Any for ValueParser
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for ValueParser
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for ValueParser
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for ValueParser
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for ValueParser
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for ValueParser
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for ValueParser
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for ValueParser
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for ValueParser
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>