pub enum ParseError {
UnknownCommand {
command: String,
suggestions: Vec<String>,
},
MissingArgument {
argument: String,
command: String,
},
MissingOption {
option: String,
command: String,
},
TooManyArguments {
command: String,
expected: usize,
got: usize,
},
UnknownOption {
flag: String,
command: String,
suggestions: Vec<String>,
},
TypeParseError {
arg_name: String,
expected_type: String,
value: String,
details: Option<String>,
},
InvalidChoice {
arg_name: String,
value: String,
choices: Vec<String>,
},
InvalidSyntax {
details: String,
hint: Option<String>,
},
}Expand description
Errors when parsing user commands
These errors occur when analyzing arguments provided by the user in CLI or REPL mode.
Variants§
UnknownCommand
Unknown command
The user typed a command that doesn’t exist. Includes suggestions based on Levenshtein distance.
MissingArgument
Missing required positional argument
MissingOption
Missing required option
TooManyArguments
Too many positional arguments
UnknownOption
Unknown option
Includes similar option suggestions.
TypeParseError
Type parsing error
The user provided a value that can’t be converted to the expected type (e.g., “abc” for an integer).
Fields
InvalidChoice
Value not in allowed choices
InvalidSyntax
Invalid command syntax
Implementations§
Source§impl ParseError
impl ParseError
Sourcepub fn unknown_command_with_suggestions(
command: &str,
available: &[String],
) -> Self
pub fn unknown_command_with_suggestions( command: &str, available: &[String], ) -> Self
Create an unknown command error with suggestions
Uses Levenshtein distance to find similar commands.
§Arguments
command- The command typed by the useravailable- List of available commands
§Example
use dynamic_cli::error::ParseError;
let available = vec!["simulate".to_string(), "validate".to_string()];
let error = ParseError::unknown_command_with_suggestions("simulat", &available);Sourcepub fn unknown_option_with_suggestions(
flag: &str,
command: &str,
available: &[String],
) -> Self
pub fn unknown_option_with_suggestions( flag: &str, command: &str, available: &[String], ) -> Self
Create an unknown option error with suggestions
Trait Implementations§
Source§impl Debug for ParseError
impl Debug for ParseError
Source§impl Display for ParseError
impl Display for ParseError
Source§impl Error for ParseError
impl Error for ParseError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<ParseError> for DynamicCliError
impl From<ParseError> for DynamicCliError
Source§fn from(source: ParseError) -> Self
fn from(source: ParseError) -> Self
Converts to this type from the input type.
Auto Trait Implementations§
impl Freeze for ParseError
impl RefUnwindSafe for ParseError
impl Send for ParseError
impl Sync for ParseError
impl Unpin for ParseError
impl UnwindSafe for ParseError
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