fontc/
error.rs

1use std::{io, path::PathBuf};
2
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum Error {
7    #[error("'{0}' exists but is not a directory")]
8    ExpectedDirectory(PathBuf),
9    #[error("io failed for '{path}': '{source}'")]
10    FileIo {
11        path: PathBuf,
12        #[source]
13        source: io::Error,
14    },
15    #[error("failed to write to stdout or stderr: '{0}'")]
16    StdioWriteFail(#[source] io::Error),
17    #[error("Unrecognized source {0}")]
18    UnrecognizedSource(PathBuf),
19    #[error(transparent)]
20    YamlSerError(#[from] serde_yaml::Error),
21    #[error(transparent)]
22    FontIrError(#[from] fontir::error::Error),
23    #[error(transparent)]
24    Backend(#[from] fontbe::error::Error),
25    #[error("Missing file '{0}'")]
26    FileExpected(PathBuf),
27    #[error("Unable to proceed; {0} jobs stuck pending")]
28    UnableToProceed(usize),
29    #[error("A task panicked: '{0}'")]
30    Panic(String),
31}