aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.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/eval.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/eval.rs')
-rw-r--r--src/eval.rs14
1 files changed, 3 insertions, 11 deletions
diff --git a/src/eval.rs b/src/eval.rs
index 549650d..af3de9e 100644
--- a/src/eval.rs
+++ b/src/eval.rs
@@ -1,4 +1,4 @@
-use futures::stream::Stream as _;
+use snafu::futures01::StreamExt as _;
use snafu::ResultExt as _;
#[derive(Debug, snafu::Snafu)]
@@ -56,19 +56,11 @@ impl Eval {
dyn futures::stream::Stream<Item = CommandEvent, Error = Error>
+ Send,
> = if let Ok(s) = builtin_stream {
- Box::new(s.map_err(move |e| Error::BuiltinExecution {
- cmd: cmd.clone(),
- source: e,
- }))
+ Box::new(s.context(BuiltinExecution { cmd }))
} else {
let process_stream = crate::process::spawn(&cmd, &args);
match process_stream {
- Ok(s) => {
- Box::new(s.map_err(move |e| Error::ProcessExecution {
- cmd: cmd.clone(),
- source: e,
- }))
- }
+ Ok(s) => Box::new(s.context(ProcessExecution { cmd })),
Err(e) => {
return Err(e).context(Command { cmd });
}