Struct clap::ArgValue [−][src]
pub struct ArgValue<'help> { /* fields omitted */ }
Expand description
The representation of 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 about to possible values.
Examples
let cfg = Arg::new("config")
.takes_value(true)
.value_name("FILE")
.possible_value(ArgValue::new("fast"))
.possible_value(ArgValue::new("slow").about("slower than fast"))
.possible_value(ArgValue::new("secret speed").hidden(true));
Implementations
Getters
Should the value be hidden from help messages and completion
Get the name if argument value is not hidden, None
otherwise
Returns all valid values of the argument value. Namely the name and all aliases.
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 = ArgValue::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));
Creates a new instance of ArgValue
using a string name. The name will be used to
decide wether 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
ArgValue::new("fast")
Sets the help text of the value that will be displayed to the user when completing the value in a compatible shell. Typically, this is a short description of the value.
Examples
ArgValue::new("slow")
.about("not fast")
Hides this value from help text and shell completions.
This is an alternative to hiding through Arg::hide_possible_values(true)
, if you only
want to hide some values.
Examples
ArgValue::new("secret")
.hidden(true)
Sets an alias for this argument value.
The alias will be hidden from completion and help texts.
Examples
ArgValue::new("slow")
.alias("not-fast")
Sets multiple aliases for this argument value.
The aliases will be hidden from completion and help texts.
Examples
ArgValue::new("slow")
.aliases(["not-fast", "snake-like"])
Trait Implementations
Auto Trait Implementations
impl<'help> RefUnwindSafe for ArgValue<'help>
impl<'help> UnwindSafe for ArgValue<'help>
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.