feat(error): create base Error enum
This commit is contained in:
20
src/error.rs
Normal file
20
src/error.rs
Normal file
@@ -0,0 +1,20 @@
|
||||
#[derive(Debug, thiserror::Error)]
|
||||
pub enum Error {
|
||||
// Domain errors
|
||||
#[error("Invalid scope: {0}")]
|
||||
InvalidScope(String),
|
||||
#[error("Invalid description: {0}")]
|
||||
InvalidDescription(String),
|
||||
// Infrastructure errors
|
||||
#[error("Not a Jujutsu repository")]
|
||||
NotARepository,
|
||||
#[error("jj is not installed or not in PATH")]
|
||||
JjNotFound,
|
||||
#[error("jj command failed: {message}")]
|
||||
JjCommand { message: String, stderr: String },
|
||||
// Application errors
|
||||
#[error("Operation cancelled by user")]
|
||||
Cancelled,
|
||||
#[error("Non-interactive terminal detected")]
|
||||
NonInteractive
|
||||
}
|
||||
Reference in New Issue
Block a user