Skip to main content

rippy_cli/
error.rs

1use std::path::PathBuf;
2
3/// All errors that can occur in rippy.
4#[derive(Debug, thiserror::Error)]
5pub enum RippyError {
6    #[error("I/O error: {0}")]
7    Io(#[from] std::io::Error),
8
9    #[error("JSON error: {0}")]
10    Json(#[from] serde_json::Error),
11
12    #[error("{path}:{line}: {message}")]
13    Config {
14        path: PathBuf,
15        line: usize,
16        message: String,
17    },
18
19    #[error("parse error: {0}")]
20    Parse(String),
21
22    #[error("unknown mode: {0}")]
23    UnknownMode(String),
24
25    #[error("missing field: {0}")]
26    MissingField(String),
27
28    #[error("setup error: {0}")]
29    Setup(String),
30
31    #[error("tracking error: {0}")]
32    Tracking(String),
33
34    #[error("trust error: {0}")]
35    Trust(String),
36}