use thiserror::Error;
fn display_content(content: &str) -> String {
    if content.is_empty() {
        String::new()
    } else {
        format!(" after {content}")
    }
}
#[derive(Debug, Error, PartialEq)]
pub enum JqlParserError {
    #[error("Empty input")]
    EmptyInputError,
    #[error("Unable to parse input {unparsed}{}", display_content(tokens))]
    ParsingError {
        tokens: String,
        unparsed: String,
    },
    #[error("Truncate operator found as non last element or multiple times in {0}")]
    TruncateError(String),
    #[error("Unknown error")]
    UnknownError,
}
#[cfg(test)]
mod tests {
    use super::display_content;
    #[test]
    fn check_display_content() {
        assert_eq!(display_content("some"), " after some");
        assert_eq!(display_content(""), "");
    }
}