mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-23 17:52:49 +00:00
Translating ripgrep byte offsets by decoding and splitting the whole prefix and suffix for every occurrence costs the file per match. A 1,001,400-byte file of a million empty lines followed by 200 matches blocked the host for 5,888ms and then answered "ok", 888ms after its own five-second budget. A single forward cursor per file answers every occurrence, decoding each needed line once and advancing the UTF-16 column from the previous match on that line. Byte bounds, saved-revision validation, CR/CRLF/LF lines, BOM handling, columns and original match text are unchanged. Conversion also checks the operation deadline directly. The timer alone cannot end an operation that overruns inside synchronous conversion, because cleanup clears it before it can run. Also scope the Windows skip in the content-search browser spec to the literal-backslash fixture. At file scope it annotated the whole suite and disabled all 12 journeys on Windows.