lmrc_cli/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum CliError {
5    #[error("IO error: {0}")]
6    Io(#[from] std::io::Error),
7
8    #[error("Configuration error: {0}")]
9    ConfigValidator(#[from] lmrc_config_validator::ConfigError),
10
11    #[error("Configuration error: {0}")]
12    Config(String),
13
14    #[allow(dead_code)]
15    #[error("Workspace error: {0}")]
16    Workspace(String),
17
18    #[error("Prompt error: {0}")]
19    Prompt(#[from] inquire::InquireError),
20
21    #[allow(dead_code)]
22    #[error("Generation error: {0}")]
23    Generation(String),
24
25    #[allow(dead_code)]
26    #[error("Invalid path: {0}")]
27    InvalidPath(String),
28
29    #[error("Project already exists at: {0}")]
30    ProjectExists(String),
31
32    #[allow(dead_code)]
33    #[error("Pipeline error: {0}")]
34    Pipeline(String),
35
36    #[allow(dead_code)]
37    #[error("IO error: {0}")]
38    IoError(String),
39}
40
41pub type Result<T> = std::result::Result<T, CliError>;