{"name":"PEG.js","scopeName":"source.pegjs","patterns":[{"begin":"\\A\\s*(?=$|/[/*])","end":"(?=[^/\\s]|/[^/*])","patterns":[{"include":"#comments"}]},{"begin":"(?=\\S)","end":"(?=A)B","patterns":[{"name":"meta.prologue.initialiser.pegjs","begin":"\\G(?={)","end":"(?\u003c=})","patterns":[{"include":"#block"}]},{"include":"#main"}]}],"repository":{"block":{"name":"meta.block.pegjs","contentName":"source.embedded.js","begin":"{","end":"}","patterns":[{"include":"source.js"}],"beginCaptures":{"0":{"name":"punctuation.section.block.bracket.curly.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.section.block.bracket.curly.end.pegjs"}}},"charSet":{"begin":"(?=\\[)","end":"(?\u003c=\\])(i)?","patterns":[{"include":"source.js.regexp"}],"endCaptures":{"1":{"name":"storage.modifier.ignore-case.pegjs"}}},"comments":{"patterns":[{"name":"comment.line.double-slash.pegjs","begin":"//","end":"$","beginCaptures":{"0":{"name":"punctuation.definition.comment.pegjs"}}},{"name":"comment.block.pegjs","begin":"/\\*","end":"\\*/","beginCaptures":{"0":{"name":"punctuation.definition.comment.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.definition.comment.end.pegjs"}}}]},"exprInnards":{"patterns":[{"include":"#strings"},{"include":"#label"},{"include":"#ruleRef"},{"include":"#charSet"},{"include":"#comments"},{"include":"#group"},{"include":"#block"},{"name":"keyword.operator.logical.or.pegjs","match":"/"},{"name":"constant.character.wildcard.dot.match.any.pegjs","match":"\\."},{"name":"keyword.operator.pluck.pegjs","match":"@"},{"name":"keyword.operator.logical.predicate.pegjs","match":"[\u0026!]"},{"name":"keyword.operator.quantifier.pegjs","match":"[?*+]"}]},"group":{"name":"meta.group.pegjs","begin":"\\(","end":"\\)","patterns":[{"include":"#exprInnards"}],"beginCaptures":{"0":{"name":"punctuation.definition.group.begin.pegjs"}},"endCaptures":{"0":{"name":"punctuation.definition.group.end.pegjs"}}},"label":{"match":"(?!\\d)([$\\w]+)\\s*(:)","captures":{"1":{"name":"variable.label.pegjs"},"2":{"name":"punctuation.definition.label.pegjs"}}},"main":{"patterns":[{"include":"#comments"},{"include":"#rule"}]},"rule":{"begin":"(?!\\d)(?=[$\\w])","end":"(?!\\G)","patterns":[{"name":"meta.rule.$1.definition.pegjs","begin":"\\G([$\\w]+)","end":"\\s*(;)|(?=^\\s*(?:[^@$\\w\\s\\\\]|[$\\w]+(?!\\s*:)))","patterns":[{"name":"meta.rule.human-readable-name.pegjs","begin":"(?=\"|')","end":"(?!\\G)","patterns":[{"include":"#strings"}]},{"name":"meta.expression.pegjs","begin":"\\s*(=)\\s*","end":"(?=;|^(?=\\s*(?![$\\w]+\\s*:|/[^*/])[^\\s/\"'{]))","patterns":[{"include":"#exprInnards"}],"beginCaptures":{"1":{"name":"keyword.operator.assignment.pegjs"}}},{"include":"#comments"}],"beginCaptures":{"1":{"name":"entity.name.rule.pegjs"}},"endCaptures":{"1":{"name":"punctuation.delimiter.separator.semicolon.pegjs"}},"applyEndPatternLast":true},{"include":"#comments"}]},"ruleRef":{"name":"entity.name.rule.reference.pegjs","match":"(?!\\d)[$\\w]+"},"strings":{"patterns":[{"name":"string.quoted.double.pegjs","begin":"\"","end":"(?\u003c![^\\\\]\\\\)(\")(i)?","patterns":[{"include":"source.js#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pegjs"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.pegjs"},"2":{"name":"storage.modifier.ignore-case.pegjs"}}},{"name":"string.quoted.single.pegjs","begin":"'","end":"(?\u003c![^\\\\]\\\\)(')(i)?","patterns":[{"include":"source.js#string_escapes"}],"beginCaptures":{"0":{"name":"punctuation.definition.string.begin.pegjs"}},"endCaptures":{"1":{"name":"punctuation.definition.string.end.pegjs"},"2":{"name":"storage.modifier.ignore-case.pegjs"}}}]}}}