Repository navigation
fix: tokenize numeric separators in JavaScript exponents - #6018
Open
CloudCorpRecords wants to merge 1 commit into
Open
CloudCorpRecords wants to merge 1 commit into
CloudCorpRecords wants to merge 1 commit into
Conversation
The JavaScript highlight rules already tokenized digit separators in the mantissa and in hex, octal, and binary literals, but the exponent part of the decimal rule only accepted plain digits, so literals like 1e1_0 were split into a numeric token plus an identifier. Allow separators in the exponent digits so the whole literal tokenizes as one constant.numeric token. The PHP rules already handled separators, including exponents, so no PHP change was needed. Adds a tokenizer test covering exponent separators plus mantissa and plain exponent regressions. Signed-off-by: Rene Turcios <95189389+CloudCorpRecords@users.noreply.github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Issue #, if available: #5256
Description of changes:
The JavaScript highlight rules already tokenized digit separators in the mantissa and in hex, octal, and binary literals, but the exponent part of the decimal rule only accepted plain digits. That split literals like 1e1_0 into a numeric token plus an identifier. This change allows separators in the exponent digits, using the same digit-plus-separator pattern the mantissa already uses, so 1e1_0, 1_000e1_0, .5_5e1_0, and 1E+1_0 each tokenize as one constant.numeric token. The PHP rules already handled separators, including exponents, so no PHP change was needed.
Tests run:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Pull Request Checklist:
Open kitchen-sink @ 3498664f50183e41276c22d8451c11931615c5be