#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[cfg(feature = "expr")]
#[error("expression error: {0}")]
Expr(String),
#[cfg(feature = "history")]
#[error("history error: {0}")]
History(String),
#[cfg(feature = "command")]
#[error("command error: {0}")]
Command(String),
#[error("serialization error: {0}")]
Serde(String),
}
pub type Result<T> = std::result::Result<T, Error>;