diff --git a/src/listview.rs b/src/listview.rs index f584597..1d2d44e 100644 --- a/src/listview.rs +++ b/src/listview.rs @@ -440,6 +440,7 @@ impl ListView fn filter(&mut self) -> HResult<()> { let filter = self.minibuffer("filter").ok(); + let selected_file = self.selected_file().clone(); let msgstr = filter.clone().unwrap_or(String::from("")); self.show_status(&format!("Filtering with: \"{}\"", msgstr)).log(); @@ -447,13 +448,12 @@ impl ListView self.content.set_filter(filter); if self.content.len() == 0 { - self.show_status("No files like that! Resetting filter").log(); + self.show_status("No files like that! Resetting filter.").log(); self.content.set_filter(Some("".to_string())); } - if self.get_selection() > self.len() { - self.set_selection(self.len()); - } + self.select_file(&selected_file); + Ok(()) }