Skip to content

Commit 28e5962

Browse files
authored
fix(language-support): support generic records (#4412)
1 parent 40b302b commit 28e5962

1 file changed

Lines changed: 42 additions & 37 deletions

File tree

language-support/java/java.tmLanguage.json

Lines changed: 42 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1435,60 +1435,65 @@
14351435
{
14361436
"include": "#storage-modifiers"
14371437
},
1438-
{
1439-
"include": "#generics"
1440-
},
14411438
{
14421439
"include": "#comments"
14431440
},
14441441
{
1445-
"begin": "(record)\\s+([\\w$]+)(<[\\w$]+>)?(\\()",
1442+
"begin": "(record)\\s+([\\w$]+)",
14461443
"beginCaptures": {
14471444
"1": {
14481445
"name": "storage.modifier.java"
14491446
},
14501447
"2": {
14511448
"name": "entity.name.type.record.java"
1452-
},
1453-
"3": {
1454-
"patterns": [
1455-
{
1456-
"include": "#generics"
1457-
}
1458-
]
1459-
},
1460-
"4": {
1461-
"name": "punctuation.definition.parameters.begin.bracket.round.java"
14621449
}
14631450
},
1464-
"end": "\\)",
1465-
"endCaptures": {
1466-
"0": {
1467-
"name": "punctuation.definition.parameters.end.bracket.round.java"
1468-
}
1469-
},
1470-
"name": "meta.record.identifier.java",
1471-
"patterns": [
1472-
{
1473-
"include": "#code"
1474-
}
1475-
]
1476-
},
1477-
{
1478-
"begin": "(implements)\\s",
1479-
"beginCaptures": {
1480-
"1": {
1481-
"name": "storage.modifier.implements.java"
1482-
}
1483-
},
1484-
"end": "(?=\\s*\\{)",
1485-
"name": "meta.definition.class.implemented.interfaces.java",
1451+
"end": "(?=\\{)",
1452+
"name": "meta.record.header.java",
14861453
"patterns": [
14871454
{
1488-
"include": "#object-types-inherited"
1455+
"include": "#generics"
14891456
},
14901457
{
14911458
"include": "#comments"
1459+
},
1460+
{
1461+
"begin": "\\(",
1462+
"beginCaptures": {
1463+
"0": {
1464+
"name": "punctuation.definition.parameters.begin.bracket.round.java"
1465+
}
1466+
},
1467+
"end": "\\)",
1468+
"endCaptures": {
1469+
"0": {
1470+
"name": "punctuation.definition.parameters.end.bracket.round.java"
1471+
}
1472+
},
1473+
"name": "meta.record.parameters.java",
1474+
"patterns": [
1475+
{
1476+
"include": "#code"
1477+
}
1478+
]
1479+
},
1480+
{
1481+
"begin": "(implements)\\s",
1482+
"beginCaptures": {
1483+
"1": {
1484+
"name": "storage.modifier.implements.java"
1485+
}
1486+
},
1487+
"end": "(?=\\s*\\{)",
1488+
"name": "meta.definition.class.implemented.interfaces.java",
1489+
"patterns": [
1490+
{
1491+
"include": "#object-types-inherited"
1492+
},
1493+
{
1494+
"include": "#comments"
1495+
}
1496+
]
14921497
}
14931498
]
14941499
},

0 commit comments

Comments
 (0)