use thiserror::Error;
#[derive(Debug, Error)]
pub enum PncError {
#[error("division by zero")]
DivisionByZero,
#[error("precision budget exceeded")]
PrecisionBudgetExceeded,
#[error("invalid unit conversion")]
InvalidUnitConversion,
#[error("parse error: {0}")]
Parse(String),
#[error("unknown command: {0}")]
UnknownCommand(String),
#[error("clipboard unavailable")]
ClipboardUnavailable,
#[error("stack underflow")]
StackUnderflow,
#[error("unsupported schema version")]
UnsupportedSchemaVersion,
#[error("io error: {0}")]
Io(#[from] std::io::Error),
}