use std::path::PathBuf;
pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("{label} path does not exist: {path}")]
PathDoesNotExist { label: &'static str, path: PathBuf },
#[error("{label} path is not a directory: {path}")]
PathIsNotDirectory { label: &'static str, path: PathBuf },
#[error("failed to inspect {label} path {path}: {source}")]
PathProbeFailed {
label: &'static str,
path: PathBuf,
source: std::io::Error,
},
#[error("failed to canonicalize {label} path {path}: {source}")]
PathCanonicalizeFailed {
label: &'static str,
path: PathBuf,
source: std::io::Error,
},
}