docopticon 0.1.2

An argument-parser based on the obligatory help-text
Documentation
pub type Result<'r, T> = core::result::Result<T, Error<'r>>;

#[derive(Debug)]
pub enum Error<'e> {
    // parsing  errors
    InvalidParserState,
    MissingUsage,
    MissingOptions,
    MissingProgramName,
    MissingStr(&'e str),
    UnableToFind,
    SplitFail,
    InvalidNumberOfDots,
    Utf8Error,
    Ambiguity,
    // argument parsage
    ArgumentMissingBracket,
    ArgumentNotUppercase,
    // usage parsage
    InvalidNumberOfSpaces,
    TooFewSpaces,
    TooManySpaces,
    // options parsage
    TooManyDashes,
    NoDashes,
    LongoptTooShort,
    NotAnOption,
    // description parsage
    MismatchingBrackets,
    MalformedParameter,
    // style
    MissingEqualsSign,
}

impl<'e> From<core::str::Utf8Error> for Error<'e> {
    fn from(_: core::str::Utf8Error) -> Self {
        Self::Utf8Error
    }
}