use std::fmt;
#[derive(Debug)]
pub enum CitationError {
AmbiguousMatch(String),
UnmatchedCitations(Vec<String>),
}
impl fmt::Display for CitationError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
CitationError::AmbiguousMatch(details) => {
write!(f, "Ambiguous citations found:\n{}", details)
}
CitationError::UnmatchedCitations(citations) => {
write!(f, "Citations not found in the library: {:?}", citations)
}
}
}
}
impl std::error::Error for CitationError {}