use thiserror::Error;
#[derive(Debug, Error)]
pub enum LostTheWay {
#[error("I don't know what {language:?} is.")]
LanguageNotFound { language: String },
#[error("You haven't written that snippet: {index:?}.")]
SnippetNotFound { index: usize },
#[error("You haven't tagged anything as {tag:?} yet.")]
TagNotFound { tag: String },
#[error("EditorError")]
EditorError,
#[error("I'm a coward. Doing nothing.")]
DoingNothing,
#[error("Homeless: $HOME not set")]
Homeless,
#[error("ThemeError: {theme:?}")]
ThemeError { theme: String },
#[error("SyntaxError: {syntax:?}")]
SyntaxError { syntax: String },
#[error("ClipboardError: Couldn't copy to clipboard - {message}")]
ClipboardError { message: String },
#[error(
"NoDefaultCopyCommand: No default command found for detected OS. \
Please add a supported command to your configuration file (as copy_cmd)"
)]
NoDefaultCopyCommand,
#[error("SearchError: Search failed")]
SearchError,
#[error("ConfigError: {message:?}")]
ConfigError { message: String },
#[error("SyncError: {message:?}")]
SyncError { message: String },
#[error("GistUrlError: {message:?}")]
GistUrlError { message: String },
#[error("GistFormattingError: {message:?}")]
GistFormattingError { message: String },
#[error("OutOfCheeseError: {message:?}\nRedo from start.")]
OutOfCheeseError { message: String },
}