pub struct CliArg {Show 23 fields
pub short: Option<char>,
pub name: String,
pub description: Option<String>,
pub long_description: Option<String>,
pub takes_value: Option<bool>,
pub multiple: Option<bool>,
pub multiple_occurrences: Option<bool>,
pub number_of_values: Option<u64>,
pub possible_values: Option<Vec<String>>,
pub min_values: Option<u64>,
pub max_values: Option<u64>,
pub required: Option<bool>,
pub required_unless_present: Option<String>,
pub required_unless_present_all: Option<Vec<String>>,
pub required_unless_present_any: Option<Vec<String>>,
pub conflicts_with: Option<String>,
pub conflicts_with_all: Option<Vec<String>>,
pub requires: Option<String>,
pub requires_all: Option<Vec<String>>,
pub requires_if: Option<Vec<String>>,
pub required_if_eq: Option<Vec<String>>,
pub require_equals: Option<bool>,
pub index: Option<u64>,
}Expand description
A CLI argument definition
Fields§
§short: Option<char>The short version of the argument, without the preceding -.
NOTE: Any leading - characters will be stripped, and only the first non - character will be used as the short version.
name: StringThe unique argument name
description: Option<String>The argument description which will be shown on the help information. Typically, this is a short (one line) description of the arg.
long_description: Option<String>The argument long description which will be shown on the help information. Typically this a more detailed (multi-line) message that describes the argument.
takes_value: Option<bool>Specifies that the argument takes a value at run time.
NOTE: values for arguments may be specified in any of the following methods
- Using a space such as -o value or –option value
- Using an equals and no space such as -o=value or –option=value
- Use a short and no space such as -ovalue
multiple: Option<bool>Specifies that the argument may appear more than once.
- For flags, this results in the number of occurrences of the flag being recorded. For example -ddd or -d -d -d would count as three occurrences.
- For options there is a distinct difference in multiple occurrences vs multiple values. For example, –opt val1 val2 is one occurrence, but two values. Whereas –opt val1 –opt val2 is two occurrences.
multiple_occurrences: Option<bool>§number_of_values: Option<u64>§possible_values: Option<Vec<String>>Specifies a list of possible values for this argument. At runtime, the CLI verifies that only one of the specified values was used, or fails with an error message.
min_values: Option<u64>Specifies the minimum number of values for this argument.
For example, if you had a -f minValues: 2, and this argument would be satisfied if the user provided, 2 or more values.
max_values: Option<u64>Specifies the maximum number of values are for this argument.
For example, if you had a -f
required: Option<bool>Sets whether or not the argument is required by default.
- Required by default means it is required, when no other conflicting rules have been evaluated
- Conflicting rules take precedence over being required.
required_unless_present: Option<String>Sets an arg that override this arg’s required setting i.e. this arg will be required unless this other argument is present.
required_unless_present_all: Option<Vec<String>>Sets args that override this arg’s required setting i.e. this arg will be required unless all these other arguments are present.
required_unless_present_any: Option<Vec<String>>Sets args that override this arg’s required setting i.e. this arg will be required unless at least one of these other arguments are present.
conflicts_with: Option<String>Sets a conflicting argument by name i.e. when using this argument, the following argument can’t be present and vice versa.
conflicts_with_all: Option<Vec<String>>The same as conflictsWith but allows specifying multiple two-way conflicts per argument.
requires: Option<String>Tets an argument by name that is required when this one is present i.e. when using this argument, the following argument must be present.
requires_all: Option<Vec<String>>Sts multiple arguments by names that are required when this one is present i.e. when using this argument, the following arguments must be present.
requires_if: Option<Vec<String>>Allows a conditional requirement with the signature [arg, value]
the requirement will only become valid if arg’s value equals ${value}.
required_if_eq: Option<Vec<String>>Allows specifying that an argument is required conditionally with the signature [arg, value]
the requirement will only become valid if the arg’s value equals ${value}.
require_equals: Option<bool>Requires that options use the –option=val syntax i.e. an equals between the option and associated value.
index: Option<u64>The positional argument index, starting at 1.
The index refers to position according to other positional argument. It does not define position in the argument list as a whole. When utilized with multiple=true, only the last positional argument may be defined as multiple (i.e. the one with the highest index).