Skip to main content

ghidra_cli/
error.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum GhidraError {
5    #[error("Ghidra installation not found. Set GHIDRA_INSTALL_DIR or run 'ghidra init'")]
6    GhidraNotFound,
7
8    #[error("Failed to parse filter: {0}")]
9    FilterParseError(String),
10
11    #[error("Invalid filter expression: {0}")]
12    InvalidFilter(String),
13
14    #[error("Invalid format: {0}")]
15    InvalidFormat(String),
16
17    #[allow(dead_code)]
18    #[error("Invalid data type: {0}")]
19    InvalidDataType(String),
20
21    #[error("Configuration error: {0}")]
22    ConfigError(String),
23
24    #[error("IO error: {0}")]
25    IoError(#[from] std::io::Error),
26
27    #[error("JSON error: {0}")]
28    JsonError(#[from] serde_json::Error),
29
30    #[error("YAML error: {0}")]
31    YamlError(#[from] serde_yaml::Error),
32}
33
34pub type Result<T> = std::result::Result<T, GhidraError>;