use std::path::PathBuf;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum GeneratorError {
#[error("failed to render template '{name}': {source}")]
TemplateRender {
name: String,
#[source]
source: handlebars::RenderError,
},
#[error("failed to register template '{name}': {source}")]
TemplateRegister {
name: String,
#[source]
source: handlebars::TemplateError,
},
#[error("failed to register helper: {message}")]
HelperRegister { message: String },
#[error("failed to serialize context: {source}")]
Serialization {
#[source]
source: serde_json::Error,
},
#[error("failed to write file '{path}': {source}")]
FileWrite {
path: PathBuf,
#[source]
source: std::io::Error,
},
#[error("failed to create directory '{path}': {source}")]
DirectoryCreate {
path: PathBuf,
#[source]
source: std::io::Error,
},
#[error("rustfmt failed: {message}")]
RustfmtFailed { message: String },
#[error("clippy failed: {message}")]
ClippyFailed { message: String },
#[error("invalid orb name '{name}': {reason}")]
InvalidOrbName { name: String, reason: String },
}