pub struct Options {
pub(crate) grps: Vec<OptGroup>,
pub(crate) parsing_style: ParsingStyle,
pub(crate) long_only: bool,
}
Expand description
A description of the options that a program can handle.
Fields§
§grps: Vec<OptGroup>
§parsing_style: ParsingStyle
§long_only: bool
Implementations§
source§impl Options
impl Options
sourcepub fn parsing_style(&mut self, style: ParsingStyle) -> &mut Options
pub fn parsing_style(&mut self, style: ParsingStyle) -> &mut Options
Set the parsing style.
sourcepub fn long_only(&mut self, long_only: bool) -> &mut Options
pub fn long_only(&mut self, long_only: bool) -> &mut Options
Set or clear “long options only” mode.
In “long options only” mode, short options cannot be clustered together, and long options can be given with either a single “-” or the customary “–”. This mode also changes the meaning of “-a=b”; in the ordinary mode this will parse a short option “-a” with argument “=b”; whereas in long-options-only mode the argument will be simply “b”.
sourcepub fn opt(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
hint: &str,
hasarg: HasArg,
occur: Occur,
) -> &mut Options
pub fn opt( &mut self, short_name: &str, long_name: &str, desc: &str, hint: &str, hasarg: HasArg, occur: Occur, ) -> &mut Options
Create a generic option group, stating all parameters explicitly.
sourcepub fn optflag(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
) -> &mut Options
pub fn optflag( &mut self, short_name: &str, long_name: &str, desc: &str, ) -> &mut Options
Create a long option that is optional and does not take an argument.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage help
sourcepub fn optflagmulti(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
) -> &mut Options
pub fn optflagmulti( &mut self, short_name: &str, long_name: &str, desc: &str, ) -> &mut Options
Create a long option that can occur more than once and does not take an argument.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage help
sourcepub fn optflagopt(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
hint: &str,
) -> &mut Options
pub fn optflagopt( &mut self, short_name: &str, long_name: &str, desc: &str, hint: &str, ) -> &mut Options
Create a long option that is optional and takes an optional argument.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage helphint
- Hint that is used in place of the argument in the usage help, e.g."FILE"
for a-o FILE
option
sourcepub fn optmulti(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
hint: &str,
) -> &mut Options
pub fn optmulti( &mut self, short_name: &str, long_name: &str, desc: &str, hint: &str, ) -> &mut Options
Create a long option that is optional, takes an argument, and may occur multiple times.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage helphint
- Hint that is used in place of the argument in the usage help, e.g."FILE"
for a-o FILE
option
sourcepub fn optopt(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
hint: &str,
) -> &mut Options
pub fn optopt( &mut self, short_name: &str, long_name: &str, desc: &str, hint: &str, ) -> &mut Options
Create a long option that is optional and takes an argument.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage helphint
- Hint that is used in place of the argument in the usage help, e.g."FILE"
for a-o FILE
option
sourcepub fn reqopt(
&mut self,
short_name: &str,
long_name: &str,
desc: &str,
hint: &str,
) -> &mut Options
pub fn reqopt( &mut self, short_name: &str, long_name: &str, desc: &str, hint: &str, ) -> &mut Options
Create a long option that is required and takes an argument.
short_name
- e.g."h"
for a-h
option, or""
for nonelong_name
- e.g."help"
for a--help
option, or""
for nonedesc
- Description for usage helphint
- Hint that is used in place of the argument in the usage help, e.g."FILE"
for a-o FILE
option
sourcepub fn parse<C: IntoIterator>(&self, args: C) -> Result
pub fn parse<C: IntoIterator>(&self, args: C) -> Result
Parse command line arguments according to the provided options.
On success returns Ok(Matches)
. Use methods such as opt_present
opt_str
, etc. to interrogate results.
§Panics
Returns Err(Fail)
on failure: use the Debug
implementation of Fail
to display information about it.
sourcepub fn short_usage(&self, program_name: &str) -> String
pub fn short_usage(&self, program_name: &str) -> String
Derive a short one-line usage summary from a set of long options.
sourcepub fn usage_with_format<F: FnMut(&mut dyn Iterator<Item = String>) -> String>(
&self,
formatter: F,
) -> String
pub fn usage_with_format<F: FnMut(&mut dyn Iterator<Item = String>) -> String>( &self, formatter: F, ) -> String
Derive a custom formatted message from a set of options. The formatted options provided to a closure as an iterator.
sourcepub(crate) fn usage_items<'a>(&'a self) -> Box<dyn Iterator<Item = String> + 'a>
pub(crate) fn usage_items<'a>(&'a self) -> Box<dyn Iterator<Item = String> + 'a>
Derive usage items from a set of options.