Files
cull-gmail/src/error.rs
Jeremiah Russell c4e4e28f66 🐛 fix(error): refine error handling with granular variants
- introduce specific error variants for std::io::Error and toml::de::Error
- remove commented-out error variants to streamline error reporting
2025-10-07 15:59:18 +01:00

28 lines
912 B
Rust

use thiserror::Error;
/// Error messages for cull-gmail
#[derive(Debug, Error)]
pub enum Error {
/// Invalid paging mode option
#[error("Invalid paging mode option")]
InvalidPagingMode,
/// Configuration directory not set
#[error("Configuration directory not set")]
DirectoryUnset,
/// Expansion of home directory in `{0}` failed
#[error("Expansion of home directory in `{0}` failed")]
HomeExpansionFailed(String),
/// Directory creation failed for `{0}`
#[error("Directory creation failed for `{0:?}`")]
DirectoryCreationFailed((String, Box<std::io::Error>)),
/// Error from the google_gmail1 crate
#[error(transparent)]
GoogleGmail1(#[from] Box<google_gmail1::Error>),
/// Error from std::io
#[error(transparent)]
StdIO(#[from] std::io::Error),
/// Error from toml_de
#[error(transparent)]
TomlDe(#[from] toml::de::Error),
}