From de3d01922b0f2a5ba5b4b896696b8910755307c8 Mon Sep 17 00:00:00 2001 From: nnyyxxxx Date: Wed, 12 Feb 2025 04:11:57 -0500 Subject: [PATCH] fix(filter): prevent panic after tab completing After tab completing if you would press a key other than return (enter) then the tui would panic, this change fixes that issue. --- tui/src/filter.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tui/src/filter.rs b/tui/src/filter.rs index 734db164..0daed22e 100644 --- a/tui/src/filter.rs +++ b/tui/src/filter.rs @@ -92,8 +92,16 @@ impl Filter { let input = self.search_input.iter().collect::().to_lowercase(); self.items.iter().find_map(|item| { let item_name_lower = item.node.name.to_lowercase(); - (item_name_lower.starts_with(&input)) - .then_some(item_name_lower[input.len()..].to_string()) + item_name_lower + .starts_with(&input) + .then(|| { + if input.len() <= item_name_lower.len() { + Some(item_name_lower[input.len()..].to_string()) + } else { + None + } + }) + .flatten() }) } }