aboutsummaryrefslogtreecommitdiffstats
path: root/src/tui.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tui.rs')
-rw-r--r--src/tui.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/tui.rs b/src/tui.rs
index 88a169d..b7af752 100644
--- a/src/tui.rs
+++ b/src/tui.rs
@@ -1,5 +1,6 @@
use futures::future::{Future as _, IntoFuture as _};
use futures::sink::Sink as _;
+use snafu::futures01::FutureExt as _;
use std::io::Write as _;
#[derive(Debug, snafu::Snafu)]
@@ -38,10 +39,8 @@ pub fn tui() {
.and_then(move |line| {
let (res, req) = futures::sync::oneshot::channel();
w.send(crate::state::StateEvent::Line(idx, line, res))
- .map_err(|e| Error::Sending { source: e })
- .and_then(|_| {
- req.map_err(|e| Error::Receiving { source: e })
- })
+ .context(Sending)
+ .and_then(|_| req.context(Receiving))
})
.then(move |res| match res {
// successful run or empty input means prompt again
@@ -72,7 +71,7 @@ fn read() -> impl futures::future::Future<Item = String, Error = Error> {
crate::readline::readline("$ ", true)
.into_future()
.flatten()
- .map_err(|e| Error::Read { source: e })
+ .context(Read)
}
fn error(e: &Error) {