From f334415d57c8f7cbca63ad0ecd2c263cbdd8ff2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=93=87=E5=91=9C=E5=93=87=E5=91=9C=E5=91=80=E5=92=A6?= =?UTF-8?q?=E8=80=B6?= Date: Wed, 2 Nov 2022 21:35:23 +0800 Subject: [PATCH] fix(search): allow terminating char to clear search term (#1853) * allow terminating char to clear search term * format code --- zellij-server/src/tab/mod.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index 16d954ed..9f29fca5 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -2650,8 +2650,10 @@ impl Tab { pub fn update_search_term(&mut self, buf: Vec, client_id: ClientId) -> Result<()> { if let Some(active_pane) = self.get_active_pane_or_floating_pane_mut(client_id) { - // It only allows printable unicode, delete and backspace keys. - let is_updatable = buf.iter().all(|u| matches!(u, 0x20..=0x7E | 0x08 | 0x7F)); + // It only allows terminating char(\0), printable unicode, delete and backspace keys. + let is_updatable = buf + .iter() + .all(|u| matches!(u, 0x00 | 0x20..=0x7E | 0x08 | 0x7F)); if is_updatable { let s = str::from_utf8(&buf).with_context(|| { format!("failed to update search term to '{buf:?}' for client {client_id}")