aboutsummaryrefslogtreecommitdiffstats
path: root/src/tui.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2019-07-09 03:14:26 -0400
committerJesse Luehrs <doy@tozt.net>2019-07-09 03:14:26 -0400
commit2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7 (patch)
treeb9cfd00badd10e9805e676ad2c3ea638c032694e /src/tui.rs
parent4f593b410b7d66a8f5e2d0e970f59854938926a7 (diff)
downloadnbsh-old-2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7.tar.gz
nbsh-old-2510f46e32ade9f7c3f6d2546e8a7338f4c27cd7.zip
use context instead of map_err for futures and streams
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) {