diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-12-05 18:01:52 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-12-05 18:01:52 -0500 |
commit | ee9595bae8cb7944e10a4d7484270398a21ca715 (patch) | |
tree | ee4612ce75908bdf9f0d0995e50577f3bf730e81 /src/bin/ttyplay/input.rs | |
parent | 83814cf6ef67834032439ac47c7c20c1f2143e06 (diff) | |
download | ttyrec-bin-ee9595bae8cb7944e10a4d7484270398a21ca715.tar.gz ttyrec-bin-ee9595bae8cb7944e10a4d7484270398a21ca715.zip |
n to repeat last search
Diffstat (limited to 'src/bin/ttyplay/input.rs')
-rw-r--r-- | src/bin/ttyplay/input.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bin/ttyplay/input.rs b/src/bin/ttyplay/input.rs index 6f394f5..e953f6d 100644 --- a/src/bin/ttyplay/input.rs +++ b/src/bin/ttyplay/input.rs @@ -4,6 +4,7 @@ pub fn spawn_task( ) { async_std::task::spawn(async move { let mut search: Option<String> = None; + let mut prev_search = None; while let Some(key) = input.read_key().await.unwrap() { if let Some(ref mut search_contents) = search { match key { @@ -32,6 +33,7 @@ pub fn spawn_task( )) .await .unwrap(); + prev_search = search; search = None; } textmode::Key::Escape => { @@ -96,6 +98,13 @@ pub fn spawn_task( search = Some("".to_string()); crate::event::Event::ActiveSearch("".to_string()) } + textmode::Key::Char('n') => { + if let Some(ref search) = prev_search { + crate::event::Event::RunSearch(search.clone()) + } else { + continue; + } + } _ => continue, }; event_w.send(event).await.unwrap(); |