grammars/etc.json in github-linguist-7.11.1 vs grammars/etc.json in github-linguist-7.12.0

- old
+ new

@@ -1,987 +2 @@ -{ - "scopeName": "etc", - "patterns": [ - { - "include": "#comma" - }, - { - "include": "#comment" - }, - { - "include": "#esc" - }, - { - "include": "#float" - }, - { - "include": "#int" - }, - { - "include": "#str" - }, - { - "include": "#colon" - }, - { - "include": "#eql" - }, - { - "include": "#dot" - } - ], - "repository": { - "bareword": { - "name": "string.unquoted.bareword", - "match": "[^\"\\s][\\S]*" - }, - "bool": { - "name": "constant.logical.bool.boolean.${1:/downcase}", - "match": "\\b(true|false|TRUE|FALSE)\\b" - }, - "bracket": { - "patterns": [ - { - "name": "punctuation.definition.bracket.curly.brace.begin", - "match": "\\{" - }, - { - "name": "punctuation.definition.bracket.curly.brace.end", - "match": "\\}" - }, - { - "name": "punctuation.definition.bracket.square.begin", - "match": "\\[" - }, - { - "name": "punctuation.definition.bracket.square.end", - "match": "\\]" - }, - { - "name": "punctuation.definition.bracket.round.parenthesis.begin", - "match": "\\(" - }, - { - "name": "punctuation.definition.bracket.round.parenthesis.end", - "match": "\\)" - }, - { - "name": "punctuation.definition.bracket.angle.ascii.begin", - "match": "\u003c" - }, - { - "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", - "match": ":" - }, - "comma": { - "name": "punctuation.separator.delimiter.comma", - "match": "," - }, - "comment": { - "patterns": [ - { - "include": "#commentHash" - } - ] - }, - "commentHash": { - "name": "comment.line.number-sign", - "begin": "#", - "end": "$", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment" - } - } - }, - "commentSemi": { - "name": "comment.line.semicolon", - "begin": ";+", - "end": "$", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment" - } - } - }, - "commentSlash": { - "name": "comment.line.double-slash", - "begin": "//", - "end": "$", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment" - } - } - }, - "dash": { - "name": "punctuation.delimiter.separator.dash.hyphen", - "match": "-" - }, - "dot": { - "name": "punctuation.delimiter.separator.property.period.dot", - "match": "\\." - }, - "dotPair": { - "name": "keyword.operator.punctuation.dots.splat.range.spread.rest", - "match": "\\.\\.|‥" - }, - "dotTrail": { - "name": "punctuation.delimiter.separator.dotted.border.leader.dots", - "match": "\\.{4,}" - }, - "dots": { - "patterns": [ - { - "include": "#ellipsis" - }, - { - "include": "#dotPair" - }, - { - "include": "#dot" - } - ] - }, - "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": { - "name": "constant.character.escape.backslash", - "match": "(\\\\).", - "captures": { - "1": { - "name": "punctuation.definition.escape.backslash" - } - } - }, - "float": { - "patterns": [ - { - "include": "#floatExp" - }, - { - "include": "#floatNoExp" - } - ] - }, - "floatExp": { - "name": "constant.numeric.float.real.decimal.dec.exponential.scientific", - "match": "[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++" - }, - "floatNoExp": { - "name": "constant.numeric.float.real.decimal.dec", - "match": "[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++" - }, - "hex": { - "name": "constant.numeric.integer.int.hexadecimal.hex", - "match": "[-+]?[A-Fa-f0-9]+" - }, - "hexNoSign": { - "name": "constant.numeric.integer.int.hexadecimal.hex", - "match": "[A-Fa-f0-9]+" - }, - "int": { - "patterns": [ - { - "include": "#intExp" - }, - { - "include": "#intNoExp" - } - ] - }, - "intExp": { - "name": "constant.numeric.integer.int.decimal.dec.exponential.scientific", - "match": "[-+]?[0-9]+[eE][-+]?[0-9]+" - }, - "intNoExp": { - "name": "constant.numeric.integer.int.decimal.dec", - "match": "[-+]?[0-9]+" - }, - "ip": { - "name": "constant.numeric.other.ip-address", - "match": "(?:\\d+\\.){3,}\\d+(?=\\s|$)", - "captures": { - "0": { - "patterns": [ - { - "include": "#dot" - } - ] - } - } - }, - "kolon": { - "name": "keyword.operator.assignment.key-value.colon", - "match": ":" - }, - "num": { - "patterns": [ - { - "include": "#float" - }, - { - "include": "#int" - } - ] - }, - "op": { - "patterns": [ - { - "include": "#opBitAssign" - }, - { - "include": "#opMathAssign" - }, - { - "include": "#opBit" - }, - { - "include": "#opFix" - }, - { - "include": "#opCmp" - }, - { - "include": "#opLog" - }, - { - "include": "#opMath" - } - ] - }, - "opBit": { - "patterns": [ - { - "name": "keyword.operator.bitwise.xor", - "match": "\\^" - }, - { - "name": "keyword.operator.bitwise.not", - "match": "~" - }, - { - "name": "keyword.operator.bitwise.and", - "match": "\u0026" - }, - { - "name": "keyword.operator.bitwise.or", - "match": "\\|" - }, - { - "name": "keyword.operator.bitwise.shift.left", - "match": "\u003c\u003c" - }, - { - "name": "keyword.operator.bitwise.shift.right.unsigned", - "match": "\u003e\u003e\u003e" - }, - { - "name": "keyword.operator.bitwise.shift.right.signed", - "match": "\u003e\u003e" - } - ] - }, - "opBitAssign": { - "patterns": [ - { - "name": "keyword.operator.assignment.bitwise.xor", - "match": "\\^=" - }, - { - "name": "keyword.operator.assignment.bitwise.not", - "match": "~=" - }, - { - "name": "keyword.operator.assignment.bitwise.and", - "match": "\u0026=" - }, - { - "name": "keyword.operator.assignment.bitwise.or", - "match": "\\|=" - }, - { - "name": "keyword.operator.assignment.bitwise.shift.left", - "match": "\u003c\u003c=" - }, - { - "name": "keyword.operator.assignment.bitwise.shift.right.unsigned", - "match": "\u003e\u003e\u003e=" - }, - { - "name": "keyword.operator.assignment.bitwise.shift.right.signed", - "match": "\u003e\u003e=" - } - ] - }, - "opCmp": { - "patterns": [ - { - "name": "keyword.operator.logical.comparison.starship.spaceship", - "match": "\u003c=\u003e" - }, - { - "name": "keyword.operator.logical.comparison.less-than-or-equal-to.lte", - "match": "\u003c=" - }, - { - "name": "keyword.operator.logical.comparison.less-than.lt", - "match": "\u003c" - }, - { - "name": "keyword.operator.logical.comparison.greater-than-or-equal-to.gte", - "match": "\u003e=" - }, - { - "name": "keyword.operator.logical.comparison.greater-than.gt", - "match": "\u003e" - }, - { - "name": "keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict", - "match": "===" - }, - { - "name": "keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq", - "match": "==" - }, - { - "name": "keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict", - "match": "!==" - }, - { - "name": "keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne", - "match": "!=" - } - ] - }, - "opFix": { - "patterns": [ - { - "name": "keyword.operator.increment", - "match": "\\+{2}" - }, - { - "name": "keyword.operator.decrement", - "match": "-{2}" - } - ] - }, - "opLog": { - "patterns": [ - { - "name": "keyword.operator.logical.boolean.cast", - "match": "!!" - }, - { - "name": "keyword.operator.logical.boolean.not.negation.negate", - "match": "!" - }, - { - "name": "keyword.operator.logical.boolean.and", - "match": "\u0026\u0026" - }, - { - "name": "keyword.operator.logical.boolean.or", - "match": "\\|{2}" - }, - { - "name": "keyword.operator.logical.boolean.or.nullish", - "match": "\\?{2}" - } - ] - }, - "opMath": { - "patterns": [ - { - "name": "keyword.operator.arithmetic.exponentiation.exponent.exp.power", - "match": "\\*{2}|\\^" - }, - { - "name": "keyword.operator.arithmetic.addition.add.plus", - "match": "\\+" - }, - { - "name": "keyword.operator.arithmetic.multiplication.multiply.times", - "match": "\\*" - }, - { - "name": "keyword.operator.arithmetic.division.divide", - "match": "/" - }, - { - "name": "keyword.operator.arithmetic.remainder.modulo.modulus.mod", - "match": "%" - }, - { - "name": "keyword.operator.arithmetic.subtraction.subtract.minus", - "match": "[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]" - } - ] - }, - "opMathAssign": { - "patterns": [ - { - "name": "keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power", - "match": "\\*{2}=" - }, - { - "name": "keyword.operator.assignment.arithmetic.addition.add.plus", - "match": "\\+=" - }, - { - "name": "keyword.operator.assignment.arithmetic.multiplication.multiply.times", - "match": "\\*=" - }, - { - "name": "keyword.operator.assignment.arithmetic.division.divide", - "match": "/=" - }, - { - "name": "keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod", - "match": "%=" - }, - { - "name": "keyword.operator.assignment.arithmetic.subtraction.subtract.minus", - "match": "[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]=" - } - ] - }, - "semi": { - "name": "punctuation.delimiter.separator.semicolon", - "match": ";" - }, - "str": { - "patterns": [ - { - "include": "#strDouble" - }, - { - "include": "#strSingle" - } - ] - }, - "strDouble": { - "name": "string.quoted.double", - "begin": "\"", - "end": "\"|(?=$)", - "patterns": [ - { - "include": "#esc" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end" - } - } - }, - "strSingle": { - "name": "string.quoted.single", - "begin": "'", - "end": "'|(?=$)", - "patterns": [ - { - "include": "#esc" - } - ], - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end" - } - } - }, - "tab": { - "patterns": [ - { - "match": "^\\t+", - "captures": { - "0": { - "patterns": [ - { - "name": "punctuation.whitespace.leading.tab.hard-tab", - "match": "\\t" - } - ] - } - } - }, - { - "match": "\\t+$", - "captures": { - "0": { - "patterns": [ - { - "name": "punctuation.whitespace.trailing.tab.hard-tab", - "match": "\\t" - } - ] - } - } - }, - { - "name": "punctuation.whitespace.tab.hard-tab", - "match": "\\t" - } - ] - }, - "url": { - "patterns": [ - { - "match": "(?x)\n(\"|'|\\b)\n(\n\t# Protocol\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| smb\n\t| git (?:\\+https?)?\n\t| ssh\n\t| rsync\n\t| afp\n\t| nfs\n\t| (?:x-)?man(?:-page)?\n\t| gopher\n\t| txmt\n\t| issue\n\t| atom\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)", - "captures": { - "1": { - "name": "punctuation.definition.link.begin.url" - }, - "2": { - "name": "constant.other.reference.link.underline.$3.url" - }, - "4": { - "name": "punctuation.definition.link.end.url" - } - } - }, - { - "match": "(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)", - "captures": { - "1": { - "name": "punctuation.definition.link.begin.url" - }, - "2": { - "name": "constant.other.reference.link.underline.mailto.url" - }, - "3": { - "name": "punctuation.separator.delimiter.scheme.url" - }, - "4": { - "name": "punctuation.definition.link.end.url" - } - } - } - ] - }, - "version": { - "name": "constant.other.version-string", - "match": "(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)", - "captures": { - "1": { - "name": "punctuation.definition.version-string.begin" - }, - "10": { - "name": "punctuation.delimiter.separator.plus" - }, - "11": { - "name": "meta.build-metadata", - "patterns": [ - { - "include": "#dot" - } - ] - }, - "12": { - "name": "punctuation.definition.version-string.end" - }, - "2": { - "name": "punctuation.definition.version-prefix" - }, - "3": { - "name": "meta.major.release-number" - }, - "4": { - "patterns": [ - { - "include": "#dot" - } - ] - }, - "5": { - "name": "meta.minor.release-number" - }, - "6": { - "patterns": [ - { - "include": "#dot" - } - ] - }, - "7": { - "name": "meta.patch.release-number" - }, - "8": { - "patterns": [ - { - "include": "#dash" - } - ] - }, - "9": { - "name": "meta.prerelease.release-number", - "patterns": [ - { - "include": "#dot" - } - ] - } - } - } - } -} +{"scopeName":"etc","patterns":[{"include":"#comma"},{"include":"#comment"},{"include":"#esc"},{"include":"#float"},{"include":"#int"},{"include":"#str"},{"include":"#colon"},{"include":"#eql"},{"include":"#dot"}],"repository":{"bareword":{"name":"string.unquoted.bareword","match":"[^\"\\s][\\S]*"},"bool":{"name":"constant.logical.bool.boolean.${1:/downcase}","match":"\\b(true|false|TRUE|FALSE)\\b"},"bracket":{"patterns":[{"name":"punctuation.definition.bracket.curly.brace.begin","match":"\\{"},{"name":"punctuation.definition.bracket.curly.brace.end","match":"\\}"},{"name":"punctuation.definition.bracket.square.begin","match":"\\["},{"name":"punctuation.definition.bracket.square.end","match":"\\]"},{"name":"punctuation.definition.bracket.round.parenthesis.begin","match":"\\("},{"name":"punctuation.definition.bracket.round.parenthesis.end","match":"\\)"},{"name":"punctuation.definition.bracket.angle.ascii.begin","match":"\u003c"},{"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","match":":"},"comma":{"name":"punctuation.separator.delimiter.comma","match":","},"comment":{"patterns":[{"include":"#commentHash"}]},"commentHash":{"name":"comment.line.number-sign","begin":"#","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSemi":{"name":"comment.line.semicolon","begin":";+","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"commentSlash":{"name":"comment.line.double-slash","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment"}}},"dash":{"name":"punctuation.delimiter.separator.dash.hyphen","match":"-"},"dot":{"name":"punctuation.delimiter.separator.property.period.dot","match":"\\."},"dotPair":{"name":"keyword.operator.punctuation.dots.splat.range.spread.rest","match":"\\.\\.|‥"},"dotTrail":{"name":"punctuation.delimiter.separator.dotted.border.leader.dots","match":"\\.{4,}"},"dots":{"patterns":[{"include":"#ellipsis"},{"include":"#dotPair"},{"include":"#dot"}]},"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":{"name":"constant.character.escape.backslash","match":"(\\\\).","captures":{"1":{"name":"punctuation.definition.escape.backslash"}}},"float":{"patterns":[{"include":"#floatExp"},{"include":"#floatNoExp"}]},"floatExp":{"name":"constant.numeric.float.real.decimal.dec.exponential.scientific","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)(?:[eE][-+]?[0-9]+)++"},"floatNoExp":{"name":"constant.numeric.float.real.decimal.dec","match":"[-+]?(?:[0-9]*\\.[0-9]+|[0-9]+\\.)++"},"hex":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[-+]?[A-Fa-f0-9]+"},"hexNoSign":{"name":"constant.numeric.integer.int.hexadecimal.hex","match":"[A-Fa-f0-9]+"},"int":{"patterns":[{"include":"#intExp"},{"include":"#intNoExp"}]},"intExp":{"name":"constant.numeric.integer.int.decimal.dec.exponential.scientific","match":"[-+]?[0-9]+[eE][-+]?[0-9]+"},"intNoExp":{"name":"constant.numeric.integer.int.decimal.dec","match":"[-+]?[0-9]+"},"ip":{"name":"constant.numeric.other.ip-address","match":"(?:\\d+\\.){3,}\\d+(?=\\s|$)","captures":{"0":{"patterns":[{"include":"#dot"}]}}},"kolon":{"name":"keyword.operator.assignment.key-value.colon","match":":"},"num":{"patterns":[{"include":"#float"},{"include":"#int"}]},"op":{"patterns":[{"include":"#opBitAssign"},{"include":"#opMathAssign"},{"include":"#opBit"},{"include":"#opFix"},{"include":"#opCmp"},{"include":"#opLog"},{"include":"#opMath"}]},"opBit":{"patterns":[{"name":"keyword.operator.bitwise.xor","match":"\\^"},{"name":"keyword.operator.bitwise.not","match":"~"},{"name":"keyword.operator.bitwise.and","match":"\u0026"},{"name":"keyword.operator.bitwise.or","match":"\\|"},{"name":"keyword.operator.bitwise.shift.left","match":"\u003c\u003c"},{"name":"keyword.operator.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e"},{"name":"keyword.operator.bitwise.shift.right.signed","match":"\u003e\u003e"}]},"opBitAssign":{"patterns":[{"name":"keyword.operator.assignment.bitwise.xor","match":"\\^="},{"name":"keyword.operator.assignment.bitwise.not","match":"~="},{"name":"keyword.operator.assignment.bitwise.and","match":"\u0026="},{"name":"keyword.operator.assignment.bitwise.or","match":"\\|="},{"name":"keyword.operator.assignment.bitwise.shift.left","match":"\u003c\u003c="},{"name":"keyword.operator.assignment.bitwise.shift.right.unsigned","match":"\u003e\u003e\u003e="},{"name":"keyword.operator.assignment.bitwise.shift.right.signed","match":"\u003e\u003e="}]},"opCmp":{"patterns":[{"name":"keyword.operator.logical.comparison.starship.spaceship","match":"\u003c=\u003e"},{"name":"keyword.operator.logical.comparison.less-than-or-equal-to.lte","match":"\u003c="},{"name":"keyword.operator.logical.comparison.less-than.lt","match":"\u003c"},{"name":"keyword.operator.logical.comparison.greater-than-or-equal-to.gte","match":"\u003e="},{"name":"keyword.operator.logical.comparison.greater-than.gt","match":"\u003e"},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq.strict","match":"==="},{"name":"keyword.operator.logical.comparison.equal-to.equals.equal.eql.eq","match":"=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne.strict","match":"!=="},{"name":"keyword.operator.logical.comparison.not-equal-to.not-equal.unequal.neql.ne","match":"!="}]},"opFix":{"patterns":[{"name":"keyword.operator.increment","match":"\\+{2}"},{"name":"keyword.operator.decrement","match":"-{2}"}]},"opLog":{"patterns":[{"name":"keyword.operator.logical.boolean.cast","match":"!!"},{"name":"keyword.operator.logical.boolean.not.negation.negate","match":"!"},{"name":"keyword.operator.logical.boolean.and","match":"\u0026\u0026"},{"name":"keyword.operator.logical.boolean.or","match":"\\|{2}"},{"name":"keyword.operator.logical.boolean.or.nullish","match":"\\?{2}"}]},"opMath":{"patterns":[{"name":"keyword.operator.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}|\\^"},{"name":"keyword.operator.arithmetic.addition.add.plus","match":"\\+"},{"name":"keyword.operator.arithmetic.multiplication.multiply.times","match":"\\*"},{"name":"keyword.operator.arithmetic.division.divide","match":"/"},{"name":"keyword.operator.arithmetic.remainder.modulo.modulus.mod","match":"%"},{"name":"keyword.operator.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]"}]},"opMathAssign":{"patterns":[{"name":"keyword.operator.assignment.arithmetic.exponentiation.exponent.exp.power","match":"\\*{2}="},{"name":"keyword.operator.assignment.arithmetic.addition.add.plus","match":"\\+="},{"name":"keyword.operator.assignment.arithmetic.multiplication.multiply.times","match":"\\*="},{"name":"keyword.operator.assignment.arithmetic.division.divide","match":"/="},{"name":"keyword.operator.assignment.arithmetic.remainder.modulo.modulus.mod","match":"%="},{"name":"keyword.operator.assignment.arithmetic.subtraction.subtract.minus","match":"[-֊־᐀᠆‐-―⸗⸚⸺⸻⹀〜〰゠︱︲﹘﹣-]="}]},"semi":{"name":"punctuation.delimiter.separator.semicolon","match":";"},"str":{"patterns":[{"include":"#strDouble"},{"include":"#strSingle"}]},"strDouble":{"name":"string.quoted.double","begin":"\"","end":"\"|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"strSingle":{"name":"string.quoted.single","begin":"'","end":"'|(?=$)","patterns":[{"include":"#esc"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin"}},"endCaptures":{"0":{"name":"punctuation.definition.string.end"}}},"tab":{"patterns":[{"match":"^\\t+","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.leading.tab.hard-tab","match":"\\t"}]}}},{"match":"\\t+$","captures":{"0":{"patterns":[{"name":"punctuation.whitespace.trailing.tab.hard-tab","match":"\\t"}]}}},{"name":"punctuation.whitespace.tab.hard-tab","match":"\\t"}]},"url":{"patterns":[{"match":"(?x)\n(\"|'|\\b)\n(\n\t# Protocol\n\t( https?\n\t| s?ftp\n\t| ftps\n\t| file\n\t| wss?\n\t| smb\n\t| git (?:\\+https?)?\n\t| ssh\n\t| rsync\n\t| afp\n\t| nfs\n\t| (?:x-)?man(?:-page)?\n\t| gopher\n\t| txmt\n\t| issue\n\t| atom\n\t) ://\n\t\n\t# Path specifier\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:\\@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t\n\t# Don't include trailing punctuation\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.$3.url"},"4":{"name":"punctuation.definition.link.end.url"}}},{"match":"(?x)\n(\"|'|\\b)\n(\n\tmailto (:)\n\t(?:\n\t\t(?! \\#\\w*\\#)\n\t\t(?: [-:@\\w.,~%+_/?=\u0026\\#;|!])\n\t)+\n\t(?\u003c![-.,?:\\#;])\n)\n(\\1)","captures":{"1":{"name":"punctuation.definition.link.begin.url"},"2":{"name":"constant.other.reference.link.underline.mailto.url"},"3":{"name":"punctuation.separator.delimiter.scheme.url"},"4":{"name":"punctuation.definition.link.end.url"}}}]},"version":{"name":"constant.other.version-string","match":"(?x)\n(\"|'|\\b)\n([vV]?)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*) (\\.)\n(0 | [1-9]\\d*)\n(?:\n\t(-)\n\t(\n\t\t(?: 0\n\t\t| [1-9]\\d*\n\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t)\n\t\t\n\t\t(?:\n\t\t\t\\.\n\t\t\t(?: 0\n\t\t\t| [1-9]\\d*\n\t\t\t| \\d*[a-zA-Z-][0-9a-zA-Z-]*\n\t\t\t)\n\t\t)*\n\t)\n)?\n(?:\n\t(\\+)\n\t(\n\t\t[0-9a-zA-Z-]+\n\t\t(?:\\.[0-9a-zA-Z-]+)*\n\t)\n)?\n(\\1)","captures":{"1":{"name":"punctuation.definition.version-string.begin"},"10":{"name":"punctuation.delimiter.separator.plus"},"11":{"name":"meta.build-metadata","patterns":[{"include":"#dot"}]},"12":{"name":"punctuation.definition.version-string.end"},"2":{"name":"punctuation.definition.version-prefix"},"3":{"name":"meta.major.release-number"},"4":{"patterns":[{"include":"#dot"}]},"5":{"name":"meta.minor.release-number"},"6":{"patterns":[{"include":"#dot"}]},"7":{"name":"meta.patch.release-number"},"8":{"patterns":[{"include":"#dash"}]},"9":{"name":"meta.prerelease.release-number","patterns":[{"include":"#dot"}]}}}}}