tci/src/error.rs

26 lines
619 B
Rust

#[derive(Debug, thiserror::Error)]
pub enum TciErr {
#[error("could not understand file system structure, bailing out: {0}")]
FsError(&'static str),
#[error("missing tci script or directory")]
Missing,
#[error("unexpected i/o error: {0}")]
IoError(#[from] std::io::Error),
#[error("git error: {0}")]
GitError(#[from] git2::Error),
#[error("subprocess finished with non-zero exit code: {0}")]
SubprocessError(i32),
#[error("subprocess terminated")]
SubprocessTerminated,
#[error("invalid toml configuration: {0}")]
ConfigError(#[from] toml::de::Error),
}
pub type TciResult<T> = Result<T, TciErr>;