use std::io;
use thiserror::Error;
#[derive(Error, Debug)]
#[error("{0}")]
pub enum LeetUpError {
Any(#[from] anyhow::Error),
Io(#[from] io::Error),
Serde(#[from] serde_json::Error),
Regex(#[from] regex::Error),
Reqwest(#[from] reqwest::Error),
InvalidHeaderValue(#[from] reqwest::header::InvalidHeaderValue),
#[error("Tried to unwrap None")]
OptNone,
#[error("Unexpected command")]
UnexpectedCommand,
}
pub type Result<T> = anyhow::Result<T, LeetUpError>;