1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum AppError {
5 #[error("not implemented")]
6 NotImplemented,
7 #[error(transparent)]
8 Octocrab(#[from] octocrab::Error),
9 #[error(transparent)]
10 Keyring(#[from] keyring::Error),
11 #[error(transparent)]
12 Io(#[from] std::io::Error),
13 #[error(transparent)]
14 Join(#[from] tokio::task::JoinError),
15 #[error(transparent)]
16 Inquire(#[from] inquire::error::InquireError),
17 #[error("error sending message on channel")]
18 TokioMpsc,
19 #[error(transparent)]
20 InitLoggingError(#[from] tracing_subscriber::util::TryInitError),
21 #[error("error setting global {0}")]
22 ErrorSettingGlobal(&'static str),
23 #[error(transparent)]
24 Other(#[from] anyhow::Error),
25}
26
27pub type Result<T, E = AppError> = std::result::Result<T, E>;