pub trait Parser:
FromArgMatches
+ CommandFactory
+ Sized {
// Provided methods
fn parse() -> Self { ... }
fn try_parse() -> Result<Self, Error> { ... }
fn parse_from<I, T>(itr: I) -> Self
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn update_from<I, T>(&mut self, itr: I)
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
where I: IntoIterator<Item = T>,
T: Into<OsString> + Clone { ... }
}
Expand description
Parse command-line arguments into Self
.
The primary one-stop-shop trait used to create an instance of a clap
Command
, conduct the parsing, and turn the resulting ArgMatches
back
into concrete instance of the user struct.
This trait is primarily a convenience on top of FromArgMatches
+
CommandFactory
which uses those two underlying traits to build the two
fundamental functions parse
which uses the std::env::args_os
iterator,
and parse_from
which allows the consumer to supply the iterator (along
with fallible options for each).
See also Subcommand
and Args
.
NOTE: Deriving requires the derive
feature flag
Provided Methods§
sourcefn parse_from<I, T>(itr: I) -> Self
fn parse_from<I, T>(itr: I) -> Self
Parse from iterator, exit on error.
sourcefn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
fn try_parse_from<I, T>(itr: I) -> Result<Self, Error>
Parse from iterator, return Err on error.
sourcefn update_from<I, T>(&mut self, itr: I)
fn update_from<I, T>(&mut self, itr: I)
Update from iterator, exit on error.
Unlike Parser::parse
, this works with an existing instance of self
.
The assumption is that all required fields are already provided and any Args
or
Subcommand
s provided by the user will modify only what is specified.
sourcefn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
fn try_update_from<I, T>(&mut self, itr: I) -> Result<(), Error>
Update from iterator, return Err on error.