Skip to content

Commit 90857c2

Browse files
committed
[java] update grammar
1 parent 3d0afa1 commit 90857c2

2 files changed

Lines changed: 54 additions & 12 deletions

File tree

extensions/java/syntaxes/java.tmLanguage.json

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
55
"Once accepted there, we are happy to receive an update request."
66
],
7-
"version": "https://github.com/atom/language-java/commit/4eb3d906f572ef1999b7ebf0708c841d36b32f0b",
7+
"version": "https://github.com/atom/language-java/commit/26b83893bf071f291481c924051462e17d2f77cd",
88
"scopeName": "source.java",
99
"name": "Java",
1010
"fileTypes": [
@@ -121,18 +121,21 @@
121121
"annotations": {
122122
"patterns": [
123123
{
124-
"begin": "(@[^ (]+)(\\()",
124+
"begin": "((@)[^\\s(]+)(\\()",
125125
"beginCaptures": {
126126
"1": {
127127
"name": "storage.type.annotation.java"
128128
},
129129
"2": {
130+
"name": "punctuation.definition.annotation.java"
131+
},
132+
"3": {
130133
"name": "punctuation.definition.annotation-arguments.begin.bracket.round.java"
131134
}
132135
},
133-
"end": "(\\))",
136+
"end": "\\)",
134137
"endCaptures": {
135-
"1": {
138+
"0": {
136139
"name": "punctuation.definition.annotation-arguments.end.bracket.round.java"
137140
}
138141
},
@@ -155,8 +158,25 @@
155158
]
156159
},
157160
{
158-
"match": "@\\w*",
159-
"name": "storage.type.annotation.java"
161+
"match": "(@)(interface)\\s+(\\w*)|((@)\\w*)",
162+
"name": "meta.declaration.annotation.java",
163+
"captures": {
164+
"1": {
165+
"name": "punctuation.definition.annotation.java"
166+
},
167+
"2": {
168+
"name": "storage.modifier.java"
169+
},
170+
"3": {
171+
"name": "storage.type.annotation.java"
172+
},
173+
"4": {
174+
"name": "storage.type.annotation.java"
175+
},
176+
"5": {
177+
"name": "punctuation.definition.annotation.java"
178+
}
179+
}
160180
}
161181
]
162182
},
@@ -224,7 +244,7 @@
224244
]
225245
},
226246
"class": {
227-
"begin": "(?=\\w?[\\w\\s]*(?:class|(?:@)?interface|enum)\\s+\\w+)",
247+
"begin": "(?=\\w?[\\w\\s]*(?:class|(?<!@)interface|enum)\\s+\\w+)",
228248
"end": "}",
229249
"endCaptures": {
230250
"0": {
@@ -251,7 +271,7 @@
251271
"name": "entity.name.type.class.java"
252272
}
253273
},
254-
"match": "(class|(?:@)?interface|enum)\\s+(\\w+)",
274+
"match": "(class|(?<!@)interface|enum)\\s+(\\w+)",
255275
"name": "meta.class.identifier.java"
256276
},
257277
{
@@ -1323,7 +1343,7 @@
13231343
]
13241344
},
13251345
"variables": {
1326-
"begin": "(?x)\n(?=\n (\n (void|boolean|byte|char|short|int|float|long|double)\n |\n (?>(\\w+\\.)*[A-Z]+\\w*) # e.g. `javax.ws.rs.Response`, or `String`\n )\n (\n <[\\w<>,?\\s]*> # HashMap<Integer, String>\n |\n (\\[\\])* # int[][]\n )?\n \\s+\n [A-Za-z_$][\\w$]* # At least one identifier after space\n ([\\w\\[\\],$][\\w\\[\\],\\s]*)? # possibly primitive array or additional identifiers\n \\s*(=|;)\n)",
1346+
"begin": "(?x)\n(?=\n (\n (void|boolean|byte|char|short|int|float|long|double)\n |\n (?>(\\w+\\.)*[A-Z]+\\w*) # e.g. `javax.ws.rs.Response`, or `String`\n )\n (\n <[\\w<>,?\\s]*> # HashMap<Integer, String>\n )?\n (\n (\\[\\])* # int[][]\n )?\n \\s+\n [A-Za-z_$][\\w$]* # At least one identifier after space\n ([\\w\\[\\],$][\\w\\[\\],\\s]*)? # possibly primitive array or additional identifiers\n \\s*(=|;)\n)",
13271347
"end": "(?=;)",
13281348
"name": "meta.definition.variable.java",
13291349
"patterns": [

extensions/java/test/colorize-results/basic_java.json

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1056,7 +1056,18 @@
10561056
}
10571057
},
10581058
{
1059-
"c": "@SuppressWarnings",
1059+
"c": "@",
1060+
"t": "source.java meta.class.java meta.class.body.java meta.declaration.annotation.java storage.type.annotation.java punctuation.definition.annotation.java",
1061+
"r": {
1062+
"dark_plus": "storage.type.annotation.java: #4EC9B0",
1063+
"light_plus": "storage.type.annotation.java: #267F99",
1064+
"dark_vs": "storage.type: #569CD6",
1065+
"light_vs": "storage.type: #0000FF",
1066+
"hc_black": "storage.type.annotation.java: #4EC9B0"
1067+
}
1068+
},
1069+
{
1070+
"c": "SuppressWarnings",
10601071
"t": "source.java meta.class.java meta.class.body.java meta.declaration.annotation.java storage.type.annotation.java",
10611072
"r": {
10621073
"dark_plus": "storage.type.annotation.java: #4EC9B0",
@@ -1848,8 +1859,19 @@
18481859
}
18491860
},
18501861
{
1851-
"c": "@Test",
1852-
"t": "source.java meta.class.java meta.class.body.java storage.type.annotation.java",
1862+
"c": "@",
1863+
"t": "source.java meta.class.java meta.class.body.java meta.declaration.annotation.java storage.type.annotation.java punctuation.definition.annotation.java",
1864+
"r": {
1865+
"dark_plus": "storage.type.annotation.java: #4EC9B0",
1866+
"light_plus": "storage.type.annotation.java: #267F99",
1867+
"dark_vs": "storage.type: #569CD6",
1868+
"light_vs": "storage.type: #0000FF",
1869+
"hc_black": "storage.type.annotation.java: #4EC9B0"
1870+
}
1871+
},
1872+
{
1873+
"c": "Test",
1874+
"t": "source.java meta.class.java meta.class.body.java meta.declaration.annotation.java storage.type.annotation.java",
18531875
"r": {
18541876
"dark_plus": "storage.type.annotation.java: #4EC9B0",
18551877
"light_plus": "storage.type.annotation.java: #267F99",

0 commit comments

Comments
 (0)