summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pygments/lexers/jvm.py12
-rw-r--r--tests/examplefiles/example.java14
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; }
}