summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2023-06-12 23:26:47 +0200
committerGitHub <noreply@github.com>2023-06-12 23:26:47 +0200
commitb0a003dfc6c0a8daad7af5666bb9ffef4b1b3e3d (patch)
treea6458023c827e794ddcaf55aa8032aa1139e324c
parent09e8da6a3a54699f040702567c5326d8ed22a068 (diff)
fix(strider): clear search term on ESC (#2531)
-rw-r--r--default-plugins/strider/src/main.rs7
-rw-r--r--default-plugins/strider/src/search/search_state.rs7
2 files changed, 10 insertions, 4 deletions
diff --git a/default-plugins/strider/src/main.rs b/default-plugins/strider/src/main.rs
index 966b53a4f..6cfaea81b 100644
--- a/default-plugins/strider/src/main.rs
+++ b/default-plugins/strider/src/main.rs
@@ -85,8 +85,11 @@ impl ZellijPlugin for State {
},
Event::Key(key) => match key {
Key::Esc if self.typing_search_term() => {
- self.stop_typing_search_term();
- self.search_state.handle_key(key);
+ if self.search_state.search_term.is_empty() {
+ self.stop_typing_search_term();
+ } else {
+ self.search_state.handle_key(key);
+ }
should_render = true;
},
_ if self.typing_search_term() => {
diff --git a/default-plugins/strider/src/search/search_state.rs b/default-plugins/strider/src/search/search_state.rs
index 5766d1c29..c8707cc9d 100644
--- a/default-plugins/strider/src/search/search_state.rs
+++ b/default-plugins/strider/src/search/search_state.rs
@@ -36,8 +36,11 @@ impl SearchState {
},
Key::Ctrl('r') => self.toggle_search_filter(),
Key::Esc => {
- hide_self();
- self.clear_state();
+ if !self.search_term.is_empty() {
+ self.clear_state();
+ } else {
+ hide_self();
+ }
},
_ => self.append_to_search_term(key),
}