mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2025-03-03 21:37:12 +00:00
refactor(filter): reduce nesting in update_completion_preview fn
This commit is contained in:
parent
de3d01922b
commit
8b04e8a7ae
|
@ -86,24 +86,23 @@ impl Filter {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn update_completion_preview(&mut self) {
|
fn update_completion_preview(&mut self) {
|
||||||
self.completion_preview = if self.items.is_empty() || self.search_input.is_empty() {
|
if self.items.is_empty() || self.search_input.is_empty() {
|
||||||
None
|
self.completion_preview = None;
|
||||||
} else {
|
return;
|
||||||
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(|| {
|
|
||||||
if input.len() <= item_name_lower.len() {
|
|
||||||
Some(item_name_lower[input.len()..].to_string())
|
|
||||||
} else {
|
|
||||||
None
|
|
||||||
}
|
|
||||||
})
|
|
||||||
.flatten()
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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) {
|
pub fn draw_searchbar(&self, frame: &mut Frame, area: Rect, theme: &Theme) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user