Skip to content

Commit e817c59

Browse files
Merge PR #170 to fix in-line forall highlighting
2 parents 1fd49fd + bfa4bb0 commit e817c59

File tree

1 file changed

+30
-13
lines changed

1 file changed

+30
-13
lines changed

syntaxes/fortran_free-form.tmLanguage.json

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1508,26 +1508,21 @@
15081508
},
15091509
"forall-construct": {
15101510
"comment": "Introduced in the Fortran 1995 standard.",
1511-
"contentName": "meta.block.forall.fortran",
1512-
"begin": "(?i)\\s*\\b(forall)\\b",
1513-
"beginCaptures":{
1511+
"begin": "(?i)\\b(forall)\\b",
1512+
"beginCaptures": {
15141513
"1": {
15151514
"name": "keyword.control.forall.fortran"
15161515
}
15171516
},
1518-
"end": "(?i)\\s*\\b(end\\s*forall)\\b",
1519-
"endCaptures": {
1520-
"1": {
1521-
"name": "keyword.control.endforall.fortran"
1522-
}
1523-
},
1524-
"patterns":[
1517+
"end": "(?<!\\G)",
1518+
"applyEndPatternLast": 1,
1519+
"patterns": [
15251520
{
15261521
"comment": "Loop control.",
15271522
"name": "meta.loop-control.fortran",
15281523
"begin": "(?i)\\G(?!\\s*[;!\\n])",
1529-
"end": "(?=[;!\\n])",
1530-
"patterns":[
1524+
"end": "(?<!\\G)",
1525+
"patterns": [
15311526
{
15321527
"include": "#parentheses"
15331528
},
@@ -1537,7 +1532,29 @@
15371532
]
15381533
},
15391534
{
1540-
"include": "$base"
1535+
"name": "meta.block.forall.fortran",
1536+
"begin": "(?<=\\))(?=\\s*[;!\\n])",
1537+
"end": "(?i)\\b(end\\s*forall)\\b",
1538+
"endCaptures": {
1539+
"1": {
1540+
"name": "keyword.control.endforall.fortran"
1541+
}
1542+
},
1543+
"patterns": [
1544+
{
1545+
"include": "$base"
1546+
}
1547+
]
1548+
},
1549+
{
1550+
"name": "meta.statement.control.forall.fortran",
1551+
"begin": "(?i)(?<=\\))(?!\\s*[;!\\n])",
1552+
"end": "\\n",
1553+
"patterns": [
1554+
{
1555+
"include": "$base"
1556+
}
1557+
]
15411558
}
15421559
]
15431560
},

0 commit comments

Comments
 (0)