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.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Options
impl RefUnwindSafe for Options
impl Send for Options
impl Sync for Options
impl Unpin for Options
impl UnwindSafe for Options
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
sized_type_properties
)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
sized_type_properties
)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
sized_type_properties
)[Self]
. Read more