use thiserror::Error;
#[derive(Debug, Error)]
pub enum CoreError {
#[error("Not implemented")]
NotImplemented,
#[error("Unknown file extension to export to: {0}")]
UnknownFileExtension(String),
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("No suitable exporter found for `{0}`")]
NoSuitableExporterFound(String),
#[error("No filename specified for export")]
NoFilenameSpecifiedForExport,
#[error("Directory does not exist: {0}")]
DirectoryDoesNotExist(std::path::PathBuf),
#[error("Invalid rendering precision: {0}")]
InvalidRenderPrecision(String),
#[error("Parse float error: {0}")]
Error(#[from] std::num::ParseFloatError),
}
pub type CoreResult<T> = std::result::Result<T, CoreError>;