1use std::path::PathBuf;
2
3#[derive(Debug, thiserror::Error)]
5pub enum ScanError {
6 #[error("Failed to parse {path}: {reason}")]
8 ParseError { path: PathBuf, reason: String },
9
10 #[error("Unsupported language: {0}")]
12 UnsupportedLanguage(String),
13
14 #[error("Discovery error in {path}: {reason}")]
16 DiscoveryError { path: PathBuf, reason: String },
17
18 #[error("Manifest parse error in {path}: {reason}")]
20 ManifestError { path: PathBuf, reason: String },
21
22 #[error("Documentation parse error in {path}: {reason}")]
24 DocumentationError { path: PathBuf, reason: String },
25
26 #[error("Storage error: {0}")]
28 StorageError(#[from] seshat_storage::StorageError),
29
30 #[error("Git error: {0}")]
32 GitError(String),
33
34 #[error("IO error: {0}")]
36 Io(#[from] std::io::Error),
37}