use thiserror::Error;
use crate::commit_extract::CommitExtractError;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum PipelineError {
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("no grammar available for any detected language in the repository")]
NoGrammarsAvailable,
#[error("configuration error: {0}")]
Config(#[from] sdivi_config::ConfigError),
#[error("snapshot write error: {0}")]
SnapshotIo(std::io::Error),
#[error("commit extract error: {0}")]
CommitExtract(#[from] CommitExtractError),
}