aboutsummaryrefslogtreecommitdiff
path: root/nitrocli/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'nitrocli/src/error.rs')
-rw-r--r--nitrocli/src/error.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/nitrocli/src/error.rs b/nitrocli/src/error.rs
index ffcc56b..78b8148 100644
--- a/nitrocli/src/error.rs
+++ b/nitrocli/src/error.rs
@@ -25,7 +25,7 @@ use std::string;
#[derive(Debug)]
pub enum Error {
ArgparseError(i32),
- CommandError(nitrokey::CommandError),
+ CommandError(Option<&'static str>, nitrokey::CommandError),
IoError(io::Error),
Utf8Error(str::Utf8Error),
Error(String),
@@ -33,7 +33,7 @@ pub enum Error {
impl From<nitrokey::CommandError> for Error {
fn from(e: nitrokey::CommandError) -> Error {
- Error::CommandError(e)
+ Error::CommandError(None, e)
}
}
@@ -59,7 +59,12 @@ impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match *self {
Error::ArgparseError(_) => write!(f, "Could not parse arguments"),
- Error::CommandError(ref e) => write!(f, "Command error: {}", e),
+ Error::CommandError(ref ctx, ref e) => {
+ if let Some(ctx) = ctx {
+ write!(f, "{}: ", ctx)?;
+ }
+ write!(f, "{}", e)
+ }
Error::Utf8Error(_) => write!(f, "Encountered UTF-8 conversion error"),
Error::IoError(ref e) => write!(f, "IO error: {}", e),
Error::Error(ref e) => write!(f, "{}", e),