mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-31 22:36:51 -06:00
25 lines
817 B
Rust
25 lines
817 B
Rust
#[derive(Debug, thiserror::Error)]
|
|
pub enum EngineError {
|
|
#[error("unknown command `{0}`")]
|
|
UnknownCommand(String),
|
|
#[error("command `{0}` is not available right now: {1}")]
|
|
Disabled(String, String),
|
|
#[error("invalid parameters for `{cmd}`: {msg}")]
|
|
BadParams { cmd: String, msg: String },
|
|
#[error("no active document")]
|
|
NoDocument,
|
|
#[error("{0}")]
|
|
Other(String),
|
|
/// A command panicked; the guard kept the drawing as it was (a bug: please report it).
|
|
#[error("internal error in `{0}` (the drawing was kept as it was): {1}")]
|
|
Internal(String, String),
|
|
}
|
|
|
|
impl From<cadcraft_doc::DocError> for EngineError {
|
|
fn from(e: cadcraft_doc::DocError) -> Self {
|
|
EngineError::Other(e.to_string())
|
|
}
|
|
}
|
|
|
|
pub type Result<T> = std::result::Result<T, EngineError>;
|