Skip to content

v0.0.4

Latest

Choose a tag to compare

@jonata jonata released this 30 Apr 18:58
· 1 commit to main since this release

New

  • Multiline Find and Replace. Both fields are now textareas that carry real newlines through the form. Patterns can span multiple lines (literal mode: paste or press Enter; regex mode: use \R, \n, etc.). Press Ctrl+Enter (Cmd+Enter on macOS) inside either textarea to run.
  • Server-side scanning rewritten to match against the full file at once via preg_match_all with PREG_OFFSET_CAPTURE, then map byte offsets to 1-based line numbers via a precomputed line-offset table (binary search, O(log n) per match). Multiline matches are reported with the starting line number and an excerpt covering every line they span.

Improved

  • During a Replace all, the results table is dimmed until the auto-refresh search renders, so it's clear the displayed rows are about to update.
  • Per-row "Replace" buttons are hidden when the find pattern is multiline (the per-row endpoint operates on a single line; only "Replace all" can apply multiline patterns).
  • makeExcerpt() reordered to wrap match highlights before collapsing whitespace, so multiline patterns still highlight correctly in the report.