Skip to content

fix: preserve edited default regex scans that require PCRE2#43

Merged
FanaticPythoner merged 2 commits into
masterfrom
fix/issue-42-modifying-the-regex-setting-in-any-way-triggers-a-ripgrep-error
May 30, 2026
Merged

fix: preserve edited default regex scans that require PCRE2#43
FanaticPythoner merged 2 commits into
masterfrom
fix/issue-42-modifying-the-regex-setting-in-any-way-triggers-a-ripgrep-error

Conversation

@FanaticPythoner

Copy link
Copy Markdown
Owner

Custom regexes derived from the default pattern keep candidate-based workspace
scans while raw ripgrep searches add PCRE2 only when required.

Regex engine:

  • detect lookaround and backreference syntax outside escaped and character-class spans
  • respect explicit ripgrep engine arguments before adding --pcre2
  • keep $TAGS PCRE2 regexes on candidate scans with local normalization

User surface:

Coverage:

  • cover regex classification, ripgrep args, workspace scan routing, and markdown task rendering

Fixes #42

Custom regexes derived from the default pattern keep candidate-based workspace
scans while raw ripgrep searches add PCRE2 only when required.

Regex engine:
- detect lookaround and backreference syntax outside escaped and character-class spans
- respect explicit ripgrep engine arguments before adding --pcre2
- keep $TAGS PCRE2 regexes on candidate scans with local normalization

User surface:
- document automatic PCRE2 selection and explicit engine overrides in nls strings
- add deterministic issue #42 benchmark coverage for raw, PCRE2, and candidate routes

Coverage:
- cover regex classification, ripgrep args, workspace scan routing, and markdown task rendering

Fixes #42
PCRE2-only $TAGS regexes that use non-JavaScript backreference syntax stay
on raw ripgrep normalization instead of entering candidate scans.

Regex engine:
- classify brace, subroutine, and Python-style named backreferences as PCRE2
- exclude JavaScript-incompatible tag regexes from candidate scans
- keep Rust-compatible and explicit-engine ripgrep paths unchanged

Workspace normalization:
- skip exact JavaScript RegExp construction for incompatible PCRE2 backrefs
- normalize raw ripgrep payloads from the returned match text

Docs and perf:
- document automatic PCRE2 selection and explicit engine overrides
- refresh issue #42 user-flow benchmark evidence

Fixes #42
@FanaticPythoner FanaticPythoner merged commit a2caf9e into master May 30, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Modifying the Regex setting in any way triggers a ripgrep error.

1 participant