diff options
Diffstat (limited to 'src/bin/ttyplay/main.rs')
-rw-r--r-- | src/bin/ttyplay/main.rs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/bin/ttyplay/main.rs b/src/bin/ttyplay/main.rs index 2f49db5..699d329 100644 --- a/src/bin/ttyplay/main.rs +++ b/src/bin/ttyplay/main.rs @@ -2,6 +2,7 @@ #![warn(clippy::nursery)] #![allow(clippy::missing_const_for_fn)] #![allow(clippy::struct_excessive_bools)] +#![allow(clippy::too_many_lines)] mod display; mod event; @@ -17,10 +18,17 @@ struct Opt { #[structopt(long)] clamp: Option<u64>, + + #[structopt(short, long)] + paused: bool, } async fn async_main(opt: Opt) -> anyhow::Result<()> { - let Opt { file, clamp } = opt; + let Opt { + file, + clamp, + paused, + } = opt; let fh = async_std::fs::File::open(file).await?; @@ -39,10 +47,14 @@ async fn async_main(opt: Opt) -> anyhow::Result<()> { )); frames::load_from_file(frame_data.clone(), fh, event_w.clone(), clamp); - let timer_task = - timer::spawn_task(event_w.clone(), frame_data.clone(), timer_r); + let timer_task = timer::spawn_task( + event_w.clone(), + frame_data.clone(), + timer_r, + paused, + ); - event::handle_events(event_r, timer_w.clone(), output).await?; + event::handle_events(event_r, timer_w.clone(), output, paused).await?; timer_w.send(event::TimerAction::Quit).await?; timer_task.await; |