diff options
-rw-r--r-- | pygments/lexers/jvm.py | 12 | ||||
-rw-r--r-- | tests/examplefiles/example.java | 14 |
2 files changed, 15 insertions, 11 deletions
diff --git a/pygments/lexers/jvm.py b/pygments/lexers/jvm.py index e26e46c8..7b72fc74 100644 --- a/pygments/lexers/jvm.py +++ b/pygments/lexers/jvm.py @@ -42,9 +42,9 @@ class JavaLexer(RegexLexer): (r'//.*?\n', Comment.Single), (r'/\*.*?\*/', Comment.Multiline), # method names - (r'((?:[^\W\d][\w\.\[\]<>]*\s+)+?)' # return arguments - r'([^\W\d]\w*)' # method name - r'(\s*)(\()', # signature start + (r'((?:(?:[^\W\d]|\$)[\w\.\[\]\$<>]*\s+)+?)' # return arguments + r'((?:[^\W\d]|\$)[\w\$]*)' # method name + r'(\s*)(\()', # signature start bygroups(using(this), Name.Function, Text, Operator)), (r'@[^\W\d][\w\.]*', Name.Decorator), (r'(assert|break|case|catch|continue|default|do|else|finally|for|' @@ -61,8 +61,8 @@ class JavaLexer(RegexLexer): (r'(import)(\s+)', bygroups(Keyword.Namespace, Text), 'import'), (r'"(\\\\|\\"|[^"])*"', String), (r"'\\.'|'[^\\]'|'\\u[0-9a-fA-F]{4}'", String.Char), - (r'(\.)([^\W\d]\w*)', bygroups(Operator, Name.Attribute)), - (r'[^\W\d]\w*:', Name.Label), + (r'(\.)((?:[^\W\d]|\$)[\w\$]*)', bygroups(Operator, Name.Attribute)), + (r'([^\W\d]|\$)[\w\$]*:', Name.Label), (r'([^\W\d]|\$)[\w\$]*', Name), (r'[~\^\*!%&\[\]\(\)\{\}<>\|+=:;,./?-]', Operator), (r'[0-9][0-9]*\.[0-9]+([eE][0-9]+)?[fd]?', Number.Float), @@ -71,7 +71,7 @@ class JavaLexer(RegexLexer): (r'\n', Text) ], 'class': [ - (r'[^\W\d]\w*', Name.Class, '#pop') + (r'([^\W\d]|\$)[\w\$]*', Name.Class, '#pop') ], 'import': [ (r'[\w.]+\*?', Name.Namespace, '#pop') diff --git a/tests/examplefiles/example.java b/tests/examplefiles/example.java index 34b87fbb..f2e94322 100644 --- a/tests/examplefiles/example.java +++ b/tests/examplefiles/example.java @@ -1,12 +1,16 @@ -class _PostUnicodeClassá -{void foo() {} +class _PostUnico$deClassá +{void fo$o() {} - void PostUnicodeFunctioná() {} + void PostUnicodeFunctioná() { + láb$el: + break láb$el; + + } } -class áPreUnicodeClass +class áPreUnicode$Class { public int $foo; public int á$foo; - _PostUnicodeClassá áPreUnicodeFunction() { return null; } + _PostUnico$deClassá áPreUnicodeFunction() { return null; } } |