use std::path::PathBuf;
#[derive(thiserror::Error, Debug)]
pub enum CliError {
#[error("Calculation error: {0}")]
Calculation(#[from] cheq::CheqError),
#[error("I/O error for '{}': {source}", .path.display())]
Io {
path: PathBuf,
#[source]
source: std::io::Error,
},
#[error("I/O error: {0}")]
GenericIo(#[from] std::io::Error),
#[error("Failed to parse XYZ from {source_name}: {details}")]
XyzParse {
source_name: String,
details: String,
},
#[error("Failed to parse parameters TOML: {0}")]
ParamsParse(#[from] toml::de::Error),
}