Skip to content

Conversation

@mmastrac
Copy link
Owner

@mmastrac mmastrac commented Jul 5, 2025

  • Rewrote the pattern parsing to avoid using regular expressions, making all
    regular expression engine features optional (though at least one is still
    required).
  • Ensure correctness in capture names, even when using duplicate names
    generated from pattern names. These were previously unspecified:
    • (breaking) Duplicate pattern names result in matches with incrementing names in the format:
      NAME, NAME[1], NAME[2], etc.
    • (breaking) Duplicate pattern names from aliases are now guaranteed to be
      "last one wins".
  • (breaking) Matches::len() was removed as it was previously reporting the
    pattern name count. Use Matches::iter().count() instead.
  • (breaking) Matches::is_empty() was removed. Use Matches::iter().count() == 0 instead.

@mmastrac mmastrac force-pushed the rewrite_pattern_parser branch 3 times, most recently from 86a5bfd to 2520ef0 Compare July 5, 2025 02:30
@mmastrac mmastrac force-pushed the rewrite_pattern_parser branch from 2520ef0 to 6dc1e09 Compare July 5, 2025 02:31
@mmastrac mmastrac merged commit 6a443cb into main Jul 5, 2025
3 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.

2 participants