mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-12-28 17:14:39 +00:00
terminal: fix moving selection on history changing
This commit is contained in:
@@ -493,6 +493,10 @@ pub const ScreenSearch = struct {
|
||||
// in our history (fast path)
|
||||
if (results.items.len == 0) break :history;
|
||||
|
||||
// The number added to our history. Needed for updating
|
||||
// our selection if we have one.
|
||||
const added_len = results.items.len;
|
||||
|
||||
// Matches! Reverse our list then append all the remaining
|
||||
// history items that didn't start on our original node.
|
||||
std.mem.reverse(FlattenedHighlight, results.items);
|
||||
@@ -505,7 +509,7 @@ pub const ScreenSearch = struct {
|
||||
if (self.selected) |*m| selected: {
|
||||
const active_len = self.active_results.items.len;
|
||||
if (m.idx < active_len) break :selected;
|
||||
m.idx += results.items.len;
|
||||
m.idx += added_len;
|
||||
|
||||
// Moving the idx should not change our targeted result
|
||||
// since the history is immutable.
|
||||
|
||||
Reference in New Issue
Block a user