aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/ttyplay/input.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/ttyplay/input.rs')
-rw-r--r--src/bin/ttyplay/input.rs9
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();