Skip to main content

ctx_tui/
errors.rs

1use crate::git::GitError;
2use crate::multiplexer::MultiplexerError;
3
4/// A failure with a user-facing message; the CLI and TUI show it verbatim.
5#[derive(Debug, thiserror::Error)]
6pub enum CtxError {
7    #[error("{0}")]
8    Msg(String),
9    #[error("{0}")]
10    Git(#[from] GitError),
11    #[error("{0}")]
12    Mux(#[from] MultiplexerError),
13    #[error("{0}")]
14    Io(#[from] std::io::Error),
15}
16
17pub fn msg<T>(message: impl Into<String>) -> Result<T> {
18    Err(CtxError::Msg(message.into()))
19}
20
21pub type Result<T> = std::result::Result<T, CtxError>;