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>;