aboutsummaryrefslogtreecommitdiffstats
path: root/src/cmd/play.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/play.rs')
-rw-r--r--src/cmd/play.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/cmd/play.rs b/src/cmd/play.rs
index c99a697..22bd220 100644
--- a/src/cmd/play.rs
+++ b/src/cmd/play.rs
@@ -56,6 +56,7 @@ enum FileState {
filename: String,
},
Opening {
+ filename: String,
fut: tokio::fs::file::OpenFuture<String>,
},
Open {
@@ -100,13 +101,17 @@ impl PlaySession {
match &mut self.file {
FileState::Closed { filename } => {
self.file = FileState::Opening {
+ filename: filename.to_string(),
fut: tokio::fs::File::open(filename.to_string()),
};
Ok(crate::component_future::Async::DidWork)
}
- FileState::Opening { fut } => {
- let file =
- try_ready!(fut.poll().context(crate::error::OpenFile));
+ FileState::Opening { filename, fut } => {
+ let file = try_ready!(fut.poll().with_context(|| {
+ crate::error::OpenFile {
+ filename: filename.to_string(),
+ }
+ }));
let file = crate::ttyrec::File::new(file);
self.file = FileState::Open { file };
Ok(crate::component_future::Async::DidWork)