grammars/etc.json in github-linguist-7.10.0 vs grammars/etc.json in github-linguist-7.11.0
- old
+ new
@@ -63,16 +63,24 @@
{
"name": "punctuation.definition.bracket.round.parenthesis.end",
"match": "\\)"
},
{
- "name": "punctuation.definition.bracket.angle.begin",
+ "name": "punctuation.definition.bracket.angle.ascii.begin",
"match": "\u003c"
},
{
- "name": "punctuation.definition.bracket.angle.end",
+ "name": "punctuation.definition.bracket.angle.ascii.end",
"match": "\u003e"
+ },
+ {
+ "name": "punctuation.definition.bracket.angle.unicode.begin",
+ "match": "⟨"
+ },
+ {
+ "name": "punctuation.definition.bracket.angle.unicode.end",
+ "match": "⟩"
}
]
},
"colon": {
"name": "punctuation.delimiter.separator.colon",
@@ -150,10 +158,341 @@
},
"ellipsis": {
"name": "keyword.operator.punctuation.ellipsis.splat.range.spread.rest",
"match": "\\.{3}|…"
},
+ "email": {
+ "patterns": [
+ {
+ "include": "#emailBracketed"
+ },
+ {
+ "include": "#emailQuoted"
+ },
+ {
+ "include": "#emailUnquoted"
+ }
+ ]
+ },
+ "emailBracketed": {
+ "patterns": [
+ {
+ "name": "meta.email-address.bracketed.ascii.angle-brackets",
+ "match": "(\u003c)\\s*([^\u003e@\\s]+@[^\u003e@\\s]+)\\s*(\u003e)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.bracketed.unicode.angle-brackets",
+ "match": "(⟨)\\s*([^⟩@\\s]+@[^⟩@\\s]+)\\s*(⟩)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.bracketed.guillemots",
+ "match": "(«)\\s*([^»@\\s]+@[^»@\\s]+)\\s*(»)",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.bracketed.round-brackets",
+ "match": "(\\()\\s*([^\\)@\\s]+@[^\\)@\\s]+)\\s*(\\))",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.bracketed.curly-brackets",
+ "match": "({)\\s*([^}@\\s]+@[^}@\\s]+)\\s*(})",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.bracketed.square-brackets",
+ "match": "(\\[)\\s*([^\\]@\\s]+@[^\\]@\\s]+)\\s*(\\])",
+ "captures": {
+ "1": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "patterns": [
+ {
+ "include": "#bracket"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "emailInnards": {
+ "name": "constant.other.reference.link.underline.email",
+ "match": "(?:\\G|^|(?\u003c=\\n)).+",
+ "captures": {
+ "0": {
+ "patterns": [
+ {
+ "match": "\\G([^@]*)(@)(.*)",
+ "captures": {
+ "1": {
+ "name": "meta.local-part"
+ },
+ "2": {
+ "name": "punctuation.separator.at-sign.email"
+ },
+ "3": {
+ "name": "meta.domain"
+ }
+ }
+ }
+ ]
+ }
+ }
+ },
+ "emailQuoted": {
+ "patterns": [
+ {
+ "name": "meta.email-address.quoted.ascii.double-quotes",
+ "match": "(\")\\s*([^\"@\\s]+@[^\"@\\s]+)\\s*(\")",
+ "captures": {
+ "0": {
+ "name": "string.quoted.double"
+ },
+ "1": {
+ "name": "punctuation.definition.string.begin.email-address"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.definition.string.end.email-address"
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.quoted.unicode.double-quotes",
+ "match": "(“)\\s*([^”@\\s]+@[^”@\\s]+)\\s*(”)",
+ "captures": {
+ "0": {
+ "name": "string.quoted.double"
+ },
+ "1": {
+ "name": "punctuation.definition.string.begin.email-address"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.definition.string.end.email-address"
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.quoted.unicode.single-quotes",
+ "match": "(‘)\\s*([^’@\\s]+@[^’@\\s]+)\\s*(’)",
+ "captures": {
+ "0": {
+ "name": "string.quoted.single"
+ },
+ "1": {
+ "name": "punctuation.definition.string.begin.email-address"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.definition.string.end.email-address"
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.quoted.backticks",
+ "match": "(`)\\s*([^`@\\s]+@[^`@\\s]+)\\s*(`)",
+ "captures": {
+ "0": {
+ "name": "string.quoted.template.backticks"
+ },
+ "1": {
+ "name": "punctuation.definition.string.begin.email-address"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.definition.string.end.email-address"
+ }
+ }
+ },
+ {
+ "name": "meta.email-address.quoted.single-quotes",
+ "match": "(`|')\\s*([^'@\\s]+@[^'@\\s]+)\\s*(')",
+ "captures": {
+ "0": {
+ "name": "string.quoted.single"
+ },
+ "1": {
+ "name": "punctuation.definition.string.begin.email-address"
+ },
+ "2": {
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ },
+ "3": {
+ "name": "punctuation.definition.string.end.email-address"
+ }
+ }
+ }
+ ]
+ },
+ "emailUnquoted": {
+ "name": "meta.email-address.unquoted",
+ "match": "(?x)\n((?!\\.) (?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++ @\n([^\\[\\(\u003c⟨«\"'\\s@.]+?\\.(?=[^\\.\\s])(?:[^\\[\\(\u003c⟨«\"'\\s@.]|\\.(?!\\.))++))",
+ "captures": {
+ "1": {
+ "name": "string.unquoted.email-address",
+ "patterns": [
+ {
+ "include": "#emailInnards"
+ }
+ ]
+ }
+ }
+ },
"eql": {
"name": "keyword.operator.assignment.key-value.equals-sign",
"match": "="
},
"esc": {
@@ -454,9 +793,13 @@
{
"name": "keyword.operator.assignment.arithmetic.subtraction.subtract.minus",
"match": "[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="
}
]
+ },
+ "semi": {
+ "name": "punctuation.delimiter.separator.semicolon",
+ "match": ";"
},
"str": {
"patterns": [
{
"include": "#strDouble"