Add an in-viewport find experience for the TUI2 transcript (the
scrollable region above the composer), without introducing a persistent
search bar or scroll indicator.
UX:
- Ctrl-F opens a 1-row "/ " prompt above the composer and updates
highlights live as you type
- Ctrl-G jumps to the next match without closing the prompt, and keeps
working after the prompt closes while the query is still active
- Esc closes the prompt but keeps the active query/highlights; Esc again
clears the search
- Enter closes the prompt and jumps to the selected match
Implementation:
- Add a dedicated transcript_find module to own query/edit state,
smart-case matching over flattened transcript lines, stable jump
anchoring (cell + line-in-cell), and per-line highlight rendering
- Keep app.rs integration additive via small delegation calls from the
key handler and render loop
- Plumb find visibility to the footer so shortcuts show Ctrl-G next match
only while the find prompt is visible
Docs/tests:
- Add tui2/docs/transcript_find.md documenting current behavior vs the
ideal/perfect end state and explicitly calling out deferred work
- Stabilize VT100-based rendering tests by forcing color output and
emitting crossterm fg/bg colors directly in insert-history output