use thiserror::Error; /// Custom error type for the doctree library #[derive(Error, Debug)] pub enum DocTreeError { /// IO error #[error("IO error: {0}")] IoError(#[from] std::io::Error), /// WalkDir error #[error("WalkDir error: {0}")] WalkDirError(String), /// Collection not found #[error("Collection not found: {0}")] CollectionNotFound(String), /// Page not found #[error("Page not found: {0}")] PageNotFound(String), /// File not found #[error("File not found: {0}")] FileNotFound(String), /// Invalid include directive #[error("Invalid include directive: {0}")] InvalidIncludeDirective(String), /// No default collection set #[error("No default collection set")] NoDefaultCollection, /// Invalid number of arguments #[error("Invalid number of arguments")] InvalidArgumentCount, /// Missing required parameter #[error("Missing required parameter: {0}")] MissingParameter(String), /// Redis error #[error("Redis error: {0}")] RedisError(String), /// CSV error #[error("CSV error: {0}")] CsvError(String), /// IPFS error #[error("IPFS error: {0}")] IpfsError(String), /// Encryption error #[error("Encryption error: {0}")] EncryptionError(String), } /// Result type alias for doctree operations pub type Result = std::result::Result;