grammars/source.c.json in github-linguist-6.4.1 vs grammars/source.c.json in github-linguist-7.0.0
- old
+ new
@@ -222,11 +222,11 @@
{
"include": "#block"
},
{
"name": "meta.function.c",
- "begin": "(?x)\n \t\t(?: ^ # begin-of-line\n \t\t | \n \t\t (?: (?= \\s ) (?\u003c!else|new|return) (?\u003c=\\w) # or word + space before name\n \t\t | (?= \\s*[A-Za-z_] ) (?\u003c!\u0026\u0026) (?\u003c=[*\u0026\u003e]) # or type modifier before name\n \t\t )\n \t\t)\n \t\t(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|[cr]?iterate)\\s*\\()\n \t\t(\n \t\t\t(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name\n \t\t\t(?: (?\u003c=operator) (?: [-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator\n \t\t)\n \t\t \\s*(?=\\()",
+ "begin": "(?x)\n \t\t(?: ^ # begin-of-line\n \t\t | \n \t\t (?: (?= \\s ) (?\u003c!else|new|return) (?\u003c=\\w) # or word + space before name\n \t\t | (?= \\s*[A-Za-z_] ) (?\u003c!\u0026\u0026) (?\u003c=[*\u0026\u003e]) # or type modifier before name\n \t\t )\n \t\t)\n \t\t(\\s*) (?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|[cr]?iterate|(?:::)?new|(?:::)?delete)\\s*\\()\n \t\t(\n \t\t\t(?: [A-Za-z_][A-Za-z0-9_]*+ | :: )++ | # actual name\n \t\t\t(?: (?\u003c=operator) (?: [-*\u0026\u003c\u003e=+!]+ | \\(\\) | \\[\\] ) ) # if it is a C++ operator\n \t\t)\n \t\t \\s*(?=\\()",
"end": "(?\u003c=\\})|(?=#)|(;)",
"patterns": [
{
"include": "#comments"
},
@@ -254,16 +254,19 @@
}
}
],
"repository": {
"access": {
- "match": "(\\.|\\-\u003e)([a-zA-Z_][a-zA-Z_0-9]*)\\b(?!\\s*\\()",
+ "match": "(\\.|\\-\u003e)(?:\\s*(template)\\s+)?([a-zA-Z_][a-zA-Z_0-9]*)\\b(?!\\s*\\()",
"captures": {
"1": {
"name": "punctuation.separator.variable-access.c"
},
"2": {
+ "name": "storage.modifier.template.c++"
+ },
+ "3": {
"name": "variable.other.dot-access.c"
}
}
},
"block": {
@@ -333,10 +336,10 @@
}
]
},
"c_function_call": {
"name": "meta.function-call.c",
- "match": "(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n\t\t\t(\\b \n\t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|[cr]?iterate)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n\t\t\t)\n\t\t\t \\s*(\\()",
+ "match": "(?x) (?: (?= \\s ) (?:(?\u003c=else|new|return) | (?\u003c!\\w)) (\\s+))?\n\t\t\t(\\b \n\t\t\t\t(?!(while|for|do|if|else|switch|catch|enumerate|return|sizeof|[cr]?iterate|(?:::)?new|(?:::)?delete)\\s*\\()(?:(?!NS)[A-Za-z_][A-Za-z0-9_]*+\\b | :: )++ # actual name\n\t\t\t)\n\t\t\t \\s*(\\()",
"captures": {
"1": {
"name": "punctuation.whitespace.function-call.leading.c"
},
"2": {