Skip to main content

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}