@@ -15,12 +15,14 @@ enum Delimiter: Hashable, CaseIterable {
1515 case traditional
1616 case experimental
1717 case reSingleQuote
18+ case rxSingleQuote
1819
1920 var openingAndClosing : ( opening: String , closing: String ) {
2021 switch self {
2122 case . traditional: return ( " #/ " , " /# " )
2223 case . experimental: return ( " #| " , " |# " )
2324 case . reSingleQuote: return ( " re' " , " ' " )
25+ case . rxSingleQuote: return ( " rx' " , " ' " )
2426 }
2527 }
2628 var opening : String { openingAndClosing. opening }
@@ -31,7 +33,7 @@ enum Delimiter: Hashable, CaseIterable {
3133 switch self {
3234 case . traditional, . reSingleQuote:
3335 return . traditional
34- case . experimental:
36+ case . experimental, . rxSingleQuote :
3537 return . experimental
3638 }
3739 }
@@ -134,11 +136,11 @@ fileprivate struct DelimiterLexer {
134136 /// Attempt to skip over a closing delimiter character that is unlikely to be
135137 /// the actual closing delimiter.
136138 mutating func trySkipDelimiter( _ delimiter: Delimiter ) {
137- // Only the closing `'` for re'...' can potentially be skipped over.
139+ // Only the closing `'` for re'...'/rx'...' can potentially be skipped over.
138140 switch delimiter {
139141 case . traditional, . experimental:
140142 return
141- case . reSingleQuote:
143+ case . reSingleQuote, . rxSingleQuote :
142144 break
143145 }
144146 guard load ( ) == ascii ( " ' " ) else { return }
0 commit comments