pub enum ParseResult {
Exact {
command: String,
original: String,
args: String,
},
AliasExpanded {
command: String,
original: String,
args: String,
},
AutoCorrected {
command: String,
original: String,
distance: usize,
args: String,
},
Suggestions {
original: String,
suggestions: Vec<CommandSuggestion>,
},
Unknown {
original: String,
},
Empty,
}Expand description
Result of parsing with the forgiving parser
Variants§
Exact
Exact match found
Fields
AliasExpanded
Alias was expanded
Fields
AutoCorrected
Command was auto-corrected due to typo
Fields
Suggestions
Multiple possible corrections - user should choose
Unknown
No match found
Empty
Empty input
Implementations§
Source§impl ParseResult
impl ParseResult
Sourcepub fn was_corrected(&self) -> bool
pub fn was_corrected(&self) -> bool
Check if this was auto-corrected
Sourcepub fn is_success(&self) -> bool
pub fn is_success(&self) -> bool
Check if parsing succeeded (command was determined)
Sourcepub fn full_command(&self) -> Option<String>
pub fn full_command(&self) -> Option<String>
Get the full command line (command + args) for successful parses
Trait Implementations§
Source§impl Clone for ParseResult
impl Clone for ParseResult
Source§fn clone(&self) -> ParseResult
fn clone(&self) -> ParseResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for ParseResult
impl RefUnwindSafe for ParseResult
impl Send for ParseResult
impl Sync for ParseResult
impl Unpin for ParseResult
impl UnwindSafe for ParseResult
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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