Struct clap::builder::PossibleValue
source · [−]pub struct PossibleValue<'help> { /* private fields */ }
Expand description
A possible value of an argument.
This is used for specifying possible values of Args.
NOTE: This struct is likely not needed for most usecases as it is only required to hide single values from help messages and shell completions or to attach help to possible values.
Examples
let cfg = Arg::new("config")
.takes_value(true)
.value_name("FILE")
.value_parser([
PossibleValue::new("fast"),
PossibleValue::new("slow").help("slower than fast"),
PossibleValue::new("secret speed").hide(true)
]);
Implementations
sourceimpl<'help> PossibleValue<'help>
impl<'help> PossibleValue<'help>
sourcepub fn new(name: &'help str) -> Self
pub fn new(name: &'help str) -> Self
Create a PossibleValue
with its name.
The name will be used to decide whether this value was provided by the user to an argument.
NOTE: In case it is not hidden it will also be shown in help messages for arguments
that use it as a possible value and have not hidden them through Arg::hide_possible_values(true)
.
Examples
PossibleValue::new("fast")
sourcepub fn help(self, help: &'help str) -> Self
pub fn help(self, help: &'help str) -> Self
Sets the help description of the value.
This is typically displayed in completions (where supported) and should be a short, one-line description.
Examples
PossibleValue::new("slow")
.help("not fast")
sourcepub fn hide(self, yes: bool) -> Self
pub fn hide(self, yes: bool) -> Self
Hides this value from help and shell completions.
This is an alternative to hiding through Arg::hide_possible_values(true)
, if you only
want to hide some values.
Examples
PossibleValue::new("secret")
.hide(true)
sourcepub fn aliases<I>(self, names: I) -> Selfwhere
I: IntoIterator<Item = &'help str>,
pub fn aliases<I>(self, names: I) -> Selfwhere
I: IntoIterator<Item = &'help str>,
Sets multiple hidden aliases for this argument value.
Examples
PossibleValue::new("slow")
.aliases(["not-fast", "snake-like"])
sourceimpl<'help> PossibleValue<'help>
impl<'help> PossibleValue<'help>
Reflection
Deprecated, replaced with PossibleValue::is_hide_set
sourcepub fn is_hide_set(&self) -> bool
pub fn is_hide_set(&self) -> bool
Report if PossibleValue::hide
is set
sourcepub fn get_visible_name(&self) -> Option<&'help str>
pub fn get_visible_name(&self) -> Option<&'help str>
Get the name if argument value is not hidden, None
otherwise
sourcepub fn get_name_and_aliases(&self) -> impl Iterator<Item = &'help str> + '_
pub fn get_name_and_aliases(&self) -> impl Iterator<Item = &'help str> + '_
Returns all valid values of the argument value.
Namely the name and all aliases.
sourcepub fn matches(&self, value: &str, ignore_case: bool) -> bool
pub fn matches(&self, value: &str, ignore_case: bool) -> bool
Tests if the value is valid for this argument value
The value is valid if it is either the name or one of the aliases.
Examples
let arg_value = PossibleValue::new("fast").alias("not-slow");
assert!(arg_value.matches("fast", false));
assert!(arg_value.matches("not-slow", false));
assert!(arg_value.matches("FAST", true));
assert!(!arg_value.matches("FAST", false));
Trait Implementations
sourceimpl<'help> Clone for PossibleValue<'help>
impl<'help> Clone for PossibleValue<'help>
sourcefn clone(&self) -> PossibleValue<'help>
fn clone(&self) -> PossibleValue<'help>
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl<'help> Debug for PossibleValue<'help>
impl<'help> Debug for PossibleValue<'help>
sourceimpl<'help> Default for PossibleValue<'help>
impl<'help> Default for PossibleValue<'help>
sourcefn default() -> PossibleValue<'help>
fn default() -> PossibleValue<'help>
sourceimpl<'help> From<&'help &'help str> for PossibleValue<'help>
impl<'help> From<&'help &'help str> for PossibleValue<'help>
sourceimpl<'help> From<&'help str> for PossibleValue<'help>
impl<'help> From<&'help str> for PossibleValue<'help>
sourceimpl<'help> PartialEq<PossibleValue<'help>> for PossibleValue<'help>
impl<'help> PartialEq<PossibleValue<'help>> for PossibleValue<'help>
sourcefn eq(&self, other: &PossibleValue<'help>) -> bool
fn eq(&self, other: &PossibleValue<'help>) -> bool
impl<'help> Eq for PossibleValue<'help>
impl<'help> StructuralEq for PossibleValue<'help>
impl<'help> StructuralPartialEq for PossibleValue<'help>
Auto Trait Implementations
impl<'help> RefUnwindSafe for PossibleValue<'help>
impl<'help> Send for PossibleValue<'help>
impl<'help> Sync for PossibleValue<'help>
impl<'help> Unpin for PossibleValue<'help>
impl<'help> UnwindSafe for PossibleValue<'help>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.