Skip to content

Commit 917d30d

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

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
@@ -772,6 +772,9 @@ extension RegexTests {
772772
syntax: .experimental)
773773
parseTest(#""\"""#, quote("\""), syntax: .experimental)
774774

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

0 commit comments

Comments
 (0)