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() }) } }