Skip to main content

seshat_scanner/
error.rs

1use std::path::PathBuf;
2
3/// Errors originating from the scanning pipeline.
4#[derive(Debug, thiserror::Error)]
5pub enum ScanError {
6    /// Failed to parse a source file.
7    #[error("Failed to parse {path}: {reason}")]
8    ParseError { path: PathBuf, reason: String },
9
10    /// The file's language is not supported.
11    #[error("Unsupported language: {0}")]
12    UnsupportedLanguage(String),
13
14    /// File discovery failed.
15    #[error("Discovery error in {path}: {reason}")]
16    DiscoveryError { path: PathBuf, reason: String },
17
18    /// Failed to parse a dependency manifest.
19    #[error("Manifest parse error in {path}: {reason}")]
20    ManifestError { path: PathBuf, reason: String },
21
22    /// Failed to parse a documentation file.
23    #[error("Documentation parse error in {path}: {reason}")]
24    DocumentationError { path: PathBuf, reason: String },
25
26    /// Storage layer error during scan orchestration.
27    #[error("Storage error: {0}")]
28    StorageError(#[from] seshat_storage::StorageError),
29
30    /// Git operation failed during date collection.
31    #[error("Git error: {0}")]
32    GitError(String),
33
34    /// IO error during scanning.
35    #[error("IO error: {0}")]
36    Io(#[from] std::io::Error),
37}