Add Python 3.14+ template strings #2162
Merged
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Python 3.14 introduces template-strings. Like other types of strings (byte strings, f-strings, raw strings) it is denoted by the character before the quotes. In this case, the new prefix is a
t.Some combinations of these two are also allowed: raw f-strings (
fr/rf) and raw t-strings (ft,tf) for example.Some other combinations are not allowed however: a bytes and unicode string (
bu) is the most obvious incompatible pair.Right now, the regex matches all pairs of
rtfbuas a valid pair, which includes invalid combinations.I could address this in the regex in this pull request, but since the existing behaviour already matches some combinations that are invalid, I didn't want to needlessly complicate this regex to make the highlighter more "technically correct".