Commit Graph

3 Commits

Author SHA1 Message Date
5716d208b8 Highlight search matches in the text view
- ui: TextField gains MatchRanges (window-relative byte ranges) +
  CurrentMatch; drawWrappedText draws a per-glyph highlight pass (same
  tiling as the selection, so wrapped lines are covered): all matches in
  translucent yellow, the selection in blue as before, and the current
  match in stronger orange on top so it stands out.
- editor: EditorLayout windows the absolute FindState matches into the
  visible content (binary search on the sorted ranges, clamp to the
  window) and stamps them on the editor TextField.
- e2e: poll the captured frames until the highlight data lands; assert
  all matches are windowed, each highlights a "needle", and
  CurrentMatch follows FindNext.
2026-08-20 06:29:09 -04:00
153f555a23 Shrink the text area while the find bar is open
The find bar (32..72) used to be drawn over the top of the text area,
covering the first visible line. EditorLayout now lowers the text area
top by FindBarHeight (new shared constant) while the find bar is visible;
it snaps back on close. e2e: assert the editor region top moves to
32+FindBarHeight while open.
2026-08-20 05:19:58 -04:00
78d240eedb Add in-file search (find bar)
- pool: SearchTask + FindSubstring (case-insensitive substring scan with
  query generation for stale-result dropping)
- editor: FindState on EditorState; find bar handlers (ToggleFind/FindNext/
  FindPrev/FindClose); worker-pool scan of the in-memory content; edit-aware
  offset remapping (shift after, drop overlapping); next/prev with
  wrap-around, selection + scroll to match; main-owned find_bar input
  forwarded via FindQueryChan (browser search_bar precedent)
- ui: find-bar layout below the margin-free top bar; search icon on the top
  bar right; new search/close/chevron_up/chevron_down icons
- logic: findQueryChan, TypeSearch result handling, findReset on open
- frame: FindQuery field (main syncs the widget text like Query)
- tests: pool scan tests, find-state unit tests (remap, nav, gen gate,
  focus), e2e find bar + navigation + edit-survival on real files
- docs: spec/architecture/development_plan updated (search implemented,
  channel/task tables)
2026-08-20 00:02:54 -04:00