Skip to content

Commit

Permalink
Fix R grammar for highlighting (#5017)
Browse files Browse the repository at this point in the history
These changes fix a number of syntax higlighting issues caused by our
TextMate grammar for R. Addresses #3688.
  • Loading branch information
lionel- authored Oct 16, 2024
1 parent af3c808 commit d56e898
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 40 deletions.
55 changes: 27 additions & 28 deletions extensions/positron-r/syntaxes/r.tmGrammar.gen.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,15 @@
"comment": "https://macromates.com/manual/en/language_grammars",
"name": "R",
"scopeName": "source.r",
"fileTypes": [
"R",
"r",
"Rprofile"
],
"fileTypes": ["R", "r", "Rprofile"],
"foldingStartMarker": "\\{\\s*(?:#|$)",
"foldingStopMarker": "^\\s*\\}",
"variables": {
"bracket": "keyword.operator",
"identifier": "constant.other",
"bracket": "meta.bracket",
"identifier": "variable.object",
"latex": "keyword.other",
"operator": "keyword.operator",
"parameter": "entity.name.tag",
"parameter": "variable.parameter",
"roxygen-tag": "keyword.other"
},
"patterns": [
Expand Down Expand Up @@ -57,7 +53,7 @@
"brackets": {
"patterns": [
{
"name": "keyword.operator",
"name": "meta.bracket",
"begin": "\\{",
"end": "\\}",
"patterns": [
Expand All @@ -67,15 +63,15 @@
]
},
{
"name": "keyword.operator",
"name": "meta.bracket",
"begin": "\\[",
"end": "\\]",
"patterns": [
{
"match": "([\\w.]+)\\s*(?==[^=])",
"captures": {
"1": {
"name": "entity.name.tag"
"name": "variable.parameter"
}
}
},
Expand All @@ -85,15 +81,15 @@
]
},
{
"name": "keyword.operator",
"name": "meta.bracket",
"begin": "\\(",
"end": "\\)",
"patterns": [
{
"match": "([\\w.]+)\\s*(?==[^=])",
"captures": {
"1": {
"name": "entity.name.tag"
"name": "variable.parameter"
}
}
},
Expand Down Expand Up @@ -179,32 +175,35 @@
]
},
"function-call": {
"name": "entity.name.function",
"match": "([\\w.]+)(?=\\()"
"match": "([\\w.]+)(?=\\()",
"captures": {
"0": { "name": "meta.function-call" },
"1": { "name": "entity.name.function" }
}
},
"function-definition": {
"name": "keyword",
"name": "meta.function.definition",
"begin": "(function)\\s*(\\()",
"beginCaptures": {
"1": {
"name": "keyword"
"name": "keyword.other"
},
"2": {
"name": "keyword.operator"
"name": "meta.bracket"
}
},
"end": "(\\))",
"endCaptures": {
"1": {
"name": "keyword.operator"
"name": "meta.bracket"
}
},
"patterns": [
{
"begin": "([\\w.]+)",
"beginCaptures": {
"1": {
"name": "entity.name.tag"
"name": "variable.parameter"
}
},
"end": "(?=[,)])",
Expand All @@ -230,11 +229,11 @@
]
},
"identifier-syntactic": {
"name": "constant.other",
"name": "variable.object",
"match": "[\\p{L}\\p{Nl}.][\\p{L}\\p{Nl}\\p{Mn}\\p{Mc}\\p{Nd}\\p{Pc}.]*"
},
"identifier-quoted": {
"name": "constant.other",
"name": "variable.object",
"begin": "`",
"end": "`",
"patterns": [
Expand Down Expand Up @@ -305,10 +304,10 @@
"match": "(\\[)(?:(\\w+)(:{2,3}))?(\\w+)(\\(\\))?(\\])",
"captures": {
"1": {
"name": "keyword.operator"
"name": "meta.bracket"
},
"2": {
"name": "constant.other"
"name": "variable.object"
},
"3": {
"name": "keyword.operator"
Expand All @@ -317,10 +316,10 @@
"name": "entity.name.function"
},
"5": {
"name": "keyword.operator"
"name": "meta.bracket"
},
"6": {
"name": "keyword.operator"
"name": "meta.bracket"
}
}
},
Expand Down Expand Up @@ -480,7 +479,7 @@
"match": "^\\s*#+'"
},
{
"name": "keyword.operator",
"name": "meta.bracket",
"match": "[\\[\\(\\{\\}\\)\\]]"
},
{
Expand Down Expand Up @@ -510,7 +509,7 @@
"end": "(?:\\s|$)",
"patterns": [
{
"name": "entity.name.tag",
"name": "variable.parameter",
"match": "([\\w.]+)"
},
{
Expand Down
23 changes: 11 additions & 12 deletions extensions/positron-r/syntaxes/r.tmGrammar.src.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,15 @@
"comment": "https://macromates.com/manual/en/language_grammars",
"name": "R",
"scopeName": "source.r",
"fileTypes": [
"R",
"r",
"Rprofile"
],
"fileTypes": ["R", "r", "Rprofile"],
"foldingStartMarker": "\\{\\s*(?:#|$)",
"foldingStopMarker": "^\\s*\\}",
"variables": {
"bracket": "keyword.operator",
"identifier": "constant.other",
"bracket": "meta.bracket",
"identifier": "variable.object",
"latex": "keyword.other",
"operator": "keyword.operator",
"parameter": "entity.name.tag",
"parameter": "variable.parameter",
"roxygen-tag": "keyword.other"
},
"patterns": [
Expand Down Expand Up @@ -179,15 +175,18 @@
]
},
"function-call": {
"name": "entity.name.function",
"match": "([\\w.]+)(?=\\()"
"match": "([\\w.]+)(?=\\()",
"captures": {
"0": { "name": "meta.function-call" },
"1": { "name": "entity.name.function" }
}
},
"function-definition": {
"name": "keyword",
"name": "meta.function.definition",
"begin": "(function)\\s*(\\()",
"beginCaptures": {
"1": {
"name": "keyword"
"name": "keyword.other"
},
"2": {
"name": "{{ bracket }}"
Expand Down

0 comments on commit d56e898

Please sign in to comment.