summaryrefslogtreecommitdiffstats
path: root/src/fail.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-03-02 19:39:24 +0100
committerrabite <rabite@posteo.de>2019-03-02 23:28:03 +0100
commiteb5a86b7cd37dc39d20f6ce122f671f94f51b75a (patch)
treea60e83dca33a46ebcc367dbfe98c2e8250210289 /src/fail.rs
parente2acef5ddfa5c7bf470aee5e24f429eabfb17951 (diff)
moved window stuff to widget itself
Diffstat (limited to 'src/fail.rs')
-rw-r--r--src/fail.rs35
1 files changed, 30 insertions, 5 deletions
diff --git a/src/fail.rs b/src/fail.rs
index ff9ad2e..1c0575b 100644
--- a/src/fail.rs
+++ b/src/fail.rs
@@ -1,5 +1,6 @@
use failure;
use failure::Fail;
+use failure::Backtrace;
use std::path::PathBuf;
@@ -28,21 +29,45 @@ pub enum HError {
#[fail(display = "Was None!")]
NoneError,
#[fail(display = "Not ready yet!")]
- WillBeNotReady,
+ WillBeNotReady(Backtrace),
#[fail(display = "No widget found")]
- NoWidgetError,
+ NoWidgetError(Backtrace),
#[fail(display = "Path: {:?} not in this directory: {:?}", path, dir)]
WrongDirectoryError{ path: PathBuf, dir: PathBuf },
#[fail(display = "Widget finnished")]
PopupFinnished,
- #[fail(display = "Input finnished")]
- InputFinnished,
#[fail(display = "No completions found")]
NoCompletionsError,
#[fail(display = "No more history")]
- NoHistoryError
+ NoHistoryError,
+ #[fail(display = "No core for widget")]
+ NoWidgetCoreError(Backtrace),
+ #[fail(display = "No header for widget")]
+ NoHeaderError,
}
+pub trait ErrorLog where Self: Sized {
+ fn log(self) {}
+}
+
+impl<T> ErrorLog for HResult<T> {
+ fn log(self) {
+ if let Err(err) = self {
+ eprintln!("{:?}", err);
+ }
+ }
+}
+
+
+
+
+// impl From<&HError> for HError {
+// fn from(error: &HError) -> Self {
+// dbg!(&error);
+// (error.clone())
+// }
+// }
+
impl From<std::io::Error> for HError {
fn from(error: std::io::Error) -> Self {
dbg!(&error);