modcli/
error.rs

1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, ModCliError>;
4
5#[derive(Debug, Error)]
6pub enum ModCliError {
7    #[error(
8        "shell configuration is missing. Set modcli.shell in your config or disable shell mode."
9    )]
10    MissingShellConfig,
11
12    #[error("plugin load error: {0}")]
13    PluginLoad(String),
14
15    #[error("io error: {0}")]
16    Io(#[from] std::io::Error),
17
18    #[error("invalid usage: {0}")]
19    InvalidUsage(String),
20
21    #[error("validation failed: {0}")]
22    Validation(String),
23
24    #[error("unknown command: {0}")]
25    UnknownCommand(String),
26
27    #[cfg(feature = "theme-config")]
28    #[error("config parse error: {0}")]
29    ConfigParse(#[from] serde_json::Error),
30
31    #[error("error: {0}")]
32    Other(String),
33}