summaryrefslogtreecommitdiff
path: root/pygments
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2016-01-16 12:17:18 +0100
committerGeorg Brandl <georg@python.org>2016-01-16 12:17:18 +0100
commit65aefaceb81f3eb4fe0507f95ccc684c78749a98 (patch)
treea9123df1c6a802e8b9ff5137c4d04d993db12701 /pygments
parenta35d0f75cbe17c7873f528c0b47c2e9468858e1a (diff)
parentc64376c702f29a3cc3aea64528c8363d22a07949 (diff)
downloadpygments-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.py15
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': [