aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main.rs23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/main.rs b/src/main.rs
index 3e1f172..9cdaefe 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -552,18 +552,17 @@ impl Instance {
KeyCode::Delete => self.search.clear(),
KeyCode::Enter => {
if let Some(selected) = self.list_state.selected() {
- if let Some(fmatch) = self
- .files
- .iter()
- .enumerate()
- .cycle()
- .skip(selected + 1)
- .find(|(_, file)| {
- file.to_str()
- .unwrap()
- .to_lowercase()
- .contains(&self.search.to_lowercase())
- })
+ if let Some(fmatch) =
+ std::iter::repeat(self.files.iter().enumerate())
+ .take(2)
+ .flatten()
+ .skip(selected + 1)
+ .find(|(_, file)| {
+ file.to_str()
+ .unwrap()
+ .to_lowercase()
+ .contains(&self.search.to_lowercase())
+ })
{
self.list_state.select(Some(fmatch.0));
}