Skip to content

Commit 7a68f3e

Browse files
Steven Pennyalecthomas
Steven Penny
authored andcommitted
LiteralNumberHex: underscore support
Most languages allow for underscore in number literals. Fix support for a few languages. References: - https://docs.python.org/reference/lexical_analysis.html#integer-literals - https://golang.org/ref/spec#Integer_literals - https://php.net/language.types.integer
1 parent d72f847 commit 7a68f3e

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

Diff for: lexers/circular/php.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func phpCommonRules() Rules {
5151
{`(\d+\.\d*|\d*\.\d+)(e[+-]?[0-9]+)?`, LiteralNumberFloat, nil},
5252
{`\d+e[+-]?[0-9]+`, LiteralNumberFloat, nil},
5353
{`0[0-7]+`, LiteralNumberOct, nil},
54-
{`0x[a-f0-9]+`, LiteralNumberHex, nil},
54+
{`0x[a-f0-9_]+`, LiteralNumberHex, nil},
5555
{`[\d_]+`, LiteralNumberInteger, nil},
5656
{`0b[01]+`, LiteralNumberBin, nil},
5757
{`'([^'\\]*(?:\\.[^'\\]*)*)'`, LiteralStringSingle, nil},

Diff for: lexers/g/go.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ func goRules() Rules {
4949
{`\d+(\.\d+[eE][+\-]?\d+|\.\d*|[eE][+\-]?\d+)`, LiteralNumberFloat, nil},
5050
{`\.\d+([eE][+\-]?\d+)?`, LiteralNumberFloat, nil},
5151
{`0[0-7]+`, LiteralNumberOct, nil},
52-
{`0[xX][0-9a-fA-F]+`, LiteralNumberHex, nil},
52+
{`0[xX][0-9a-fA-F_]+`, LiteralNumberHex, nil},
5353
{`(0|[1-9][0-9_]*)`, LiteralNumberInteger, nil},
5454
{`'(\\['"\\abfnrtv]|\\x[0-9a-fA-F]{2}|\\[0-7]{1,3}|\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8}|[^\\])'`, LiteralStringChar, nil},
5555
{"(`)([^`]*)(`)", ByGroups(LiteralString, Using(TypeRemappingLexer(GoTextTemplate, TypeMapping{{Other, LiteralString, nil}})), LiteralString), nil},

Diff for: lexers/p/python.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ func pythonRules() Rules {
6969
{`\d+[eE][+-]?[0-9]+j?`, LiteralNumberFloat, nil},
7070
{`0[0-7]+j?`, LiteralNumberOct, nil},
7171
{`0[bB][01]+`, LiteralNumberBin, nil},
72-
{`0[xX][a-fA-F0-9]+`, LiteralNumberHex, nil},
72+
{`0[xX][a-fA-F0-9_]+`, LiteralNumberHex, nil},
7373
{`\d+L`, LiteralNumberIntegerLong, nil},
7474
{`[\d_]+j?`, LiteralNumberInteger, nil},
7575
},

0 commit comments

Comments
 (0)