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("unknown command: {0}")]
22 UnknownCommand(String),
23
24 #[error("error: {0}")]
25 Other(String),
26}