Expand description
The possible classes of items identified and extracted from command line arguments.
This breaks down items to three classes - okay/warn/error - with each variant holding an
Item
, ItemW
or ItemE
variant which more specifically represents what was found.
We use a class wrapper rather than grouping items into separate vectors because a single vector preserves order more simply. We break up item variants into groups for the advantages in matching.
All sub-variants hold a usize
value to be used for indicating the index of the argument at
which the item was found.
Most sub-variants also hold additional data. Long option sub-variants hold a string slice
reference to the matched option. Short option sub-variants hold the char
matched. Options with
data arguments additionally hold a string slice reference to the data string matched, and in
some cases also a DataLocation
variant. The NonOption
sub-variant holds a string slice
reference to the matched string.