Description
ReverseSearchState only implements select_next() — pressing Ctrl+R inside the reverse-search overlay always advances to the next (older) match. There is no way to go back to a more recent match without closing and reopening the overlay.
Bash Ctrl+R cycles through matches in both directions, so the current implementation is a UX gap vs shell conventions.
Expected Behavior
Repeated Ctrl+R presses cycle forward (older matches). Ctrl+S or Shift+Ctrl+R moves backward (newer matches), matching bash/zsh behavior.
Actual Behavior
Only select_next() available. Overlay must be closed and reopened to revisit a recently-passed match.
Environment
- Version: v0.21.3 (HEAD 957211b)
- File:
crates/zeph-tui/src/widgets/reverse_search.rs
- Key handling:
crates/zeph-tui/src/app/keys.rs:1222
Description
ReverseSearchStateonly implementsselect_next()— pressing Ctrl+R inside the reverse-search overlay always advances to the next (older) match. There is no way to go back to a more recent match without closing and reopening the overlay.Bash
Ctrl+Rcycles through matches in both directions, so the current implementation is a UX gap vs shell conventions.Expected Behavior
Repeated
Ctrl+Rpresses cycle forward (older matches).Ctrl+SorShift+Ctrl+Rmoves backward (newer matches), matching bash/zsh behavior.Actual Behavior
Only
select_next()available. Overlay must be closed and reopened to revisit a recently-passed match.Environment
crates/zeph-tui/src/widgets/reverse_search.rscrates/zeph-tui/src/app/keys.rs:1222