From 6f8ffecb89a4484a2fc587e0217263d28a7612e5 Mon Sep 17 00:00:00 2001 From: rhodes-b <59537185+rhodes-b@users.noreply.github.com> Date: Thu, 12 Mar 2026 20:21:42 -0500 Subject: [PATCH] working basic search wrapping --- src/terminal/search/screen.zig | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/src/terminal/search/screen.zig b/src/terminal/search/screen.zig index 74828d879..c9e0ada7f 100644 --- a/src/terminal/search/screen.zig +++ b/src/terminal/search/screen.zig @@ -740,13 +740,9 @@ pub const ScreenSearch = struct { return true; }; - const next_idx = prev.idx + 1; const active_len = self.active_results.items.len; const history_len = self.history_results.items.len; - if (next_idx >= active_len + history_len) { - // No more matches. We don't wrap or reset the match currently. - return false; - } + const next_idx = if (prev.idx + 1 >= active_len + history_len) 0 else prev.idx + 1; const hl: FlattenedHighlight = if (next_idx < active_len) self.active_results.items[active_len - 1 - next_idx] else @@ -800,14 +796,10 @@ pub const ScreenSearch = struct { return true; }; - // Can't go below zero - if (prev.idx == 0) { - // No more matches. We don't wrap or reset the match currently. - return false; - } - - const next_idx = prev.idx - 1; const active_len = self.active_results.items.len; + const history_len = self.history_results.items.len; + const next_idx = if (prev.idx != 0) prev.idx - 1 else active_len - 1 + history_len; + const hl: FlattenedHighlight = if (next_idx < active_len) self.active_results.items[active_len - 1 - next_idx] else