diff options
author | Georg Brandl <georg@python.org> | 2016-01-16 12:17:18 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2016-01-16 12:17:18 +0100 |
commit | 65aefaceb81f3eb4fe0507f95ccc684c78749a98 (patch) | |
tree | a9123df1c6a802e8b9ff5137c4d04d993db12701 /pygments | |
parent | a35d0f75cbe17c7873f528c0b47c2e9468858e1a (diff) | |
parent | c64376c702f29a3cc3aea64528c8363d22a07949 (diff) | |
download | pygments-65aefaceb81f3eb4fe0507f95ccc684c78749a98.tar.gz |
Merged in aldenrogers/pygments-main (pull request #541)
Improve numeric literal support in Java lexer
Diffstat (limited to 'pygments')
-rw-r--r-- | pygments/lexers/jvm.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py index 14647616..41fc0fdb 100644 --- a/pygments/lexers/jvm.py +++ b/pygments/lexers/jvm.py @@ -66,10 +66,19 @@ class JavaLexer(RegexLexer): (r'(\.)((?:[^\W\d]|\$)[\w$]*)', bygroups(Operator, Name.Attribute)), (r'^\s*([^\W\d]|\$)[\w$]*:', Name.Label), (r'([^\W\d]|\$)[\w$]*', Name), + (r'([0-9](_*[0-9]+)*\.([0-9](_*[0-9]+)*)?|' + r'([0-9](_*[0-9]+)*)?\.[0-9](_*[0-9]+)*)' + r'([eE][+\-]?[0-9](_*[0-9]+)*)?[fFdD]?|' + r'[0-9][eE][+\-]?[0-9](_*[0-9]+)*[fFdD]?|' + r'[0-9]([eE][+\-]?[0-9](_*[0-9]+)*)?[fFdD]|' + r'0[xX]([0-9a-fA-F](_*[0-9a-fA-F]+)*\.?|' + r'([0-9a-fA-F](_*[0-9a-fA-F]+)*)?\.[0-9a-fA-F](_*[0-9a-fA-F]+)*)' + r'[pP][+\-]?[0-9](_*[0-9]+)*[fFdD]?', Number.Float), + (r'0[xX][0-9a-fA-F](_*[0-9a-fA-F]+)*[lL]?', Number.Hex), + (r'0[bB][01](_*[01]+)*[lL]?', Number.Bin), + (r'0(_*[0-7]+)+[lL]?', Number.Oct), + (r'0|[1-9](_*[0-9]+)*[lL]?', Number.Integer), (r'[~^*!%&\[\](){}<>|+=:;,./?-]', Operator), - (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), - (r'0x[0-9a-fA-F]+', Number.Hex), - (r'[0-9]+(_+[0-9]+)*L?', Number.Integer), (r'\n', Text) ], 'class': [ |