{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "javascript",
"scopeName": "source.js",
"patterns": [
{
"include": "#shebang"
},
{
"include": "#jsdoc"
},
{
"include": "#directives"
},
{
"include": "#linecomment"
},
{
"include": "#blockcomment"
},
{
"include": "#regex-literal-prefix-ops"
},
{
"include": "#regex"
},
{
"include": "#qstring-double"
},
{
"include": "#qstring-single"
},
{
"include": "#template"
},
{
"include": "#decorator"
},
{
"include": "#object-method-key"
},
{
"include": "#arrow-function-params"
},
{
"include": "#ternary-expression"
},
{
"include": "#function-declaration"
},
{
"include": "#function-anon-declaration"
},
{
"include": "#class-declaration"
},
{
"include": "#extends-definition"
},
{
"include": "#let-destructure"
},
{
"include": "#const-binding"
},
{
"include": "#const-destructure"
},
{
"include": "#var-destructure"
},
{
"include": "#using-destructure"
},
{
"include": "#import-export-all"
},
{
"include": "#hexnumber"
},
{
"include": "#octalnumber"
},
{
"include": "#binarynumber"
},
{
"include": "#bigint"
},
{
"include": "#number"
},
{
"include": "#scope-keyword-operator-expression"
},
{
"include": "#scope-keyword-control-loop"
},
{
"include": "#scope-keyword-control-flow"
},
{
"include": "#scope-keyword-control-import"
},
{
"include": "#scope-keyword-control-conditional"
},
{
"include": "#scope-keyword-control-switch"
},
{
"include": "#scope-keyword-control-trycatch"
},
{
"include": "#scope-keyword-control"
},
{
"include": "#scope-keyword-control-export"
},
{
"include": "#scope-keyword-control-from-from"
},
{
"include": "#scope-keyword-other"
},
{
"include": "#scope-storage-type-class"
},
{
"include": "#scope-keyword-other-extends"
},
{
"include": "#scope-storage-modifier"
},
{
"include": "#scope-storage-modifier-accessibility"
},
{
"include": "#scope-storage-type-function"
},
{
"include": "#scope-storage-type-property"
},
{
"include": "#scope-storage-type"
},
{
"include": "#scope-storage-type-function-arrow"
},
{
"include": "#scope-constant-language-boolean-true"
},
{
"include": "#scope-constant-language-boolean-false"
},
{
"include": "#scope-constant-language-null"
},
{
"include": "#this-literal"
},
{
"include": "#super-literal"
},
{
"include": "#scope-support-class"
},
{
"include": "#scope-support-variable"
},
{
"include": "#method-call"
},
{
"include": "#known-property-access"
},
{
"include": "#property-access"
},
{
"include": "#operator-overrides"
},
{
"include": "#operators"
},
{
"include": "#punctuation-accessor"
},
{
"include": "#scope-punctuation-bracket-round"
},
{
"include": "#punctuation-comma"
},
{
"include": "#scope-punctuation-bracket-square"
},
{
"include": "#scope-punctuation-accessor-optional"
},
{
"include": "#scope-punctuation-bracket-curly"
},
{
"include": "#punctuation-semicolon"
},
{
"include": "#punctuation"
},
{
"include": "#arrow-parameter"
},
{
"include": "#function-call"
},
{
"include": "#ident"
},
{
"include": "#privatefield"
}
],
"repository": {
"regex-literal-prefix-ops": {
"name": "string.regexp.js",
"begin": "(?:(?