#[non_exhaustive]pub struct Parser<'a> { /* private fields */ }Expand description
Builder for parsing command-line arguments with custom options.
Use this when you need to customize parsing behavior, such as providing a custom environment variable map instead of using the process environment.
§Example
use std::collections::HashMap;
use usage::Spec;
use usage::parse::Parser;
let spec: Spec = r#"flag "--name <name>" env="NAME""#.parse().unwrap();
let env: HashMap<String, String> = [("NAME".into(), "john".into())].into();
let result = Parser::new(&spec)
.with_env(env)
.parse(&["cmd".into()])
.unwrap();Implementations§
Source§impl<'a> Parser<'a>
impl<'a> Parser<'a>
Auto Trait Implementations§
impl<'a> Freeze for Parser<'a>
impl<'a> RefUnwindSafe for Parser<'a>
impl<'a> Send for Parser<'a>
impl<'a> Sync for Parser<'a>
impl<'a> Unpin for Parser<'a>
impl<'a> UnwindSafe for Parser<'a>
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
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more