claude_code_statusline_core/
error.rs1use thiserror::Error;
3
4#[derive(Debug, Error)]
5pub enum CoreError {
6 #[error("unknown module: {0}")]
8 UnknownModule(String),
9 #[error("missing module config: {0}")]
10 MissingConfig(String),
11 #[error("module timed out: {0}")]
12 ModuleTimeout(String),
13
14 #[error("invalid JSON input: {0}")]
16 InvalidJson(#[from] serde_json::Error),
17 #[error("invalid TOML: {0}")]
18 InvalidToml(#[from] toml::de::Error),
19
20 #[error("io error: {0}")]
22 Io(#[from] std::io::Error),
23 #[error("failed to read config at {path}: {source}")]
24 ConfigRead {
25 path: String,
26 source: std::io::Error,
27 },
28 #[error("invalid TOML at {path}: {source}")]
29 ConfigParse {
30 path: String,
31 source: toml::de::Error,
32 },
33
34 #[error("task panicked")]
36 TaskPanic,
37 #[error("worker disconnected")]
38 WorkerDisconnected,
39
40 #[error("invalid config: {0}")]
42 InvalidConfig(String),
43
44 #[cfg(feature = "git")]
46 #[error(transparent)]
47 Git(#[from] git2::Error),
48}