1use std::path::PathBuf;
2
3use miette::Diagnostic;
4use thiserror::Error;
5
6#[derive(Debug, Error, Diagnostic)]
7#[non_exhaustive]
8pub enum Error {
9 #[error("cannot read ignore '{file}': {err}")]
13 Read {
14 file: PathBuf,
16
17 #[source]
19 err: std::io::Error,
20 },
21
22 #[error("cannot parse glob from ignore '{file:?}': {err}")]
24 Glob {
25 file: Option<PathBuf>,
27
28 #[source]
30 err: ignore::Error,
31 },
33
34 #[error("multiple: {0:?}")]
36 Multi(#[related] Vec<Error>),
37
38 #[error("cannot canonicalize '{path:?}'")]
40 Canonicalize {
41 path: PathBuf,
43
44 #[source]
46 err: std::io::Error,
47 },
48}