use std::{error::Error, fmt::Display};
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
#[non_exhaustive]
#[allow(clippy::module_name_repetitions)]
pub enum ArgParseError {
UnknownFlag(String),
MissingValue(String),
ConsumedValue(String),
}
impl Display for ArgParseError {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
match self {
Self::UnknownFlag(s) => write!(f, "Unknown flag: `{s}`"),
Self::MissingValue(s) => write!(f, "Expected value for `{s}`"),
Self::ConsumedValue(s) => write!(
f,
"Multiple arguments in `{s}` tried to consume the same value"
),
}
}
}
impl Error for ArgParseError {}