Fix letterOrDigitNoDollarSigns regex #194
Merged
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.
On master, this regex evaluates to
[[A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]]
. The way this regex should be parsed is that the first[
opens a character set which includes[
. The first]
then closes the character set. The character set should then be followed by]
. InsimpleInterpolatedVariable
, the*
then applies to the second]
.This PR fixes that to remove the duplicated
[
and]
.Here's something weird though: I cannot find an example where the current version produces a wrong highlighting with this regex. The
simpleInterpolatedVariable
regex is currently[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][[A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]]*
on master. Running this in the command line confirms that the description of the regex I gave above is correct. However, when creating a test for this (and looking at the highlighting in VS Code), I cannot reproduce a bug. I would expect the following to fail on master, but it doesn't...However, the above highlighting is wrong on GitHub, exactly in the way I would expect it to be based on the bug that this PR fixes. To see this in action: