diff options
Diffstat (limited to 'src/cmd/play.rs')
-rw-r--r-- | src/cmd/play.rs | 11 |
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) |