purple_ssh/app/groups.rs
1//! Group filter helpers. Implements `impl App` continuation for clearing the
2//! active group filter.
3
4use super::HostListItem;
5use crate::app::App;
6
7impl App {
8 /// Clear group filter (Esc from filtered mode).
9 pub fn clear_group_filter(&mut self) {
10 if self.hosts_state.group_filter.is_none() {
11 return;
12 }
13 self.hosts_state.group_filter = None;
14 self.apply_sort();
15 for (i, item) in self.hosts_state.display_list.iter().enumerate() {
16 if matches!(item, HostListItem::Host { .. }) {
17 self.ui.list_state.select(Some(i));
18 break;
19 }
20 }
21 }
22}