mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2025-04-20 19:03:08 +01:00
Merge 8b04e8a7ae976b9154d469ed00a54a1b82a92cdc into 232b45e6a66753cb9ef8cea6f6ea8dcc045434c1
This commit is contained in:
commit
c4807c68a7
@ -86,16 +86,23 @@ impl Filter {
|
||||
}
|
||||
|
||||
fn update_completion_preview(&mut self) {
|
||||
self.completion_preview = if self.items.is_empty() || self.search_input.is_empty() {
|
||||
None
|
||||
} else {
|
||||
let input = self.search_input.iter().collect::<String>().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())
|
||||
})
|
||||
if self.items.is_empty() || self.search_input.is_empty() {
|
||||
self.completion_preview = None;
|
||||
return;
|
||||
}
|
||||
|
||||
let input = self.search_input.iter().collect::<String>().to_lowercase();
|
||||
|
||||
let completion = self
|
||||
.items
|
||||
.iter()
|
||||
.find(|item| item.node.name.to_lowercase().starts_with(&input))
|
||||
.and_then(|item| {
|
||||
let name = item.node.name.to_lowercase();
|
||||
(input.len() <= name.len()).then(|| name[input.len()..].to_string())
|
||||
});
|
||||
|
||||
self.completion_preview = completion;
|
||||
}
|
||||
|
||||
pub fn draw_searchbar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user