Skip to content

Commit bd8368a

Browse files
committed
Fix the definition of SyntaxOptions.experimental
This shouldn't include e.g `namedCapturesOnly`.
1 parent c739c28 commit bd8368a

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

Sources/_RegexParser/Regex/Parse/SyntaxOptions.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,8 @@ public struct SyntaxOptions: OptionSet {
7676
public static var traditional: Self { Self(0) }
7777

7878
public static var experimental: Self {
79-
// Experimental syntax enables everything except end-of-line comments.
80-
Self(~0).subtracting(.endOfLineComments)
79+
[.nonSemanticWhitespace, .experimentalQuotes, .experimentalComments,
80+
.experimentalRanges, .experimentalCaptures]
8181
}
8282

8383
// TODO: Probably want to model strict-PCRE etc. options too.

Tests/RegexTests/ParseTests.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -770,6 +770,9 @@ extension RegexTests {
770770
syntax: .experimental)
771771
parseTest(#""\"""#, quote("\""), syntax: .experimental)
772772

773+
parseTest(#"(abc)"#, capture(concat("a", "b", "c")),
774+
syntax: .experimental, captures: [.cap])
775+
773776
// Quotes in character classes.
774777
parseTest(#"[\Q-\E]"#, charClass(quote_m("-")))
775778
parseTest(#"[\Qa-b[[*+\\E]"#, charClass(quote_m("a-b[[*+\\")))

0 commit comments

Comments
 (0)