fileTypes js htc jsx firstLineMatch ^#!/.*\b(node|js)$\n? keyEquivalent ^~J name JavaScript Next patterns include #core repository brackets patterns include #round-brackets include #square-brackets include #curly-brackets comments patterns include #special-comments-conditional-compilation begin /\*\*(?!/) captures 0 name punctuation.definition.comment.js end \*/ name comment.block.documentation.js begin /\* captures 0 name punctuation.definition.comment.js end \*/ name comment.block.js captures 0 name punctuation.definition.comment.js match (<!--|-->) name comment.block.html.js captures 1 name punctuation.definition.comment.js match (//).*$\n? name comment.line.double-slash.js captures 1 name punctuation.definition.comment.js match ^(#!).*$\n? name comment.line.shebang.js core patterns include #literal-function-labels include #literal-arrow-function-labels include #literal-labels include #literal-keywords include #literal-for include #literal-switch include #expression include #literal-punctuation curly-brackets patterns begin \{ beginCaptures 0 name meta.brace.curly.js end \} endCaptures 0 name meta.brace.curly.js name meta.group.braces.curly patterns include $self expression patterns include #support include #literal-function include #literal-arrow-function include #literal-prototype include #literal-regexp include #literal-number include #literal-template-string include #literal-string include #literal-language-constant include #literal-language-variable include #literal-method include #literal-module include #literal-class include #literal-constructor include #literal-method-call include #literal-function-call include #comments include #brackets include #literal-operators include #literal-variable function-declaration-parameters patterns begin \( beginCaptures 0 name punctuation.definition.parameters.begin.js end \) endCaptures 0 name punctuation.definition.parameters.end.js patterns match (?<!\.)\.\.\. name keyword.operator.spread.js match [_$a-zA-Z][$\w]* name variable.parameter.function.js match , name punctuation.separator.parameter.function.js begin = beginCaptures 0 name keyword.operator.assignment.js end (?=[,)]) name meta.parameter.optional.js patterns include #expression include #comments literal-arrow-function patterns begin (?x) (\basync)?\s* (?=\([^()]*\)\s*(=>)) beginCaptures 1 name storage.type.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.function.arrow.js patterns include #function-declaration-parameters captures 1 name storage.type.js 2 name variable.parameter.function.js 3 name storage.type.function.arrow.js match (?x) (\basync)?\s* \b([_$a-zA-Z][$\w]*)\s*(=>) name meta.function.arrow.js begin (?x) (\b[_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*(?=\([^()]*\)\s*(=>)) beginCaptures 1 name entity.name.function.js 2 name storage.type.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.function.arrow.js patterns include #function-declaration-parameters captures 1 name entity.name.function.js 2 name storage.type.js 3 name variable.parameter.function.js 4 name storage.type.function.arrow.js match (?x) (\b[_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*\b([_$a-zA-Z][$\w]*)\s*(=>) name meta.function.arrow.js begin (?x) (\b_?[A-Z][$\w]*)? (\.)(prototype) (\.)([_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*(?=\([^()]*\)\s*(=>)) beginCaptures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name variable.language.prototype.js 4 name keyword.operator.accessor.js 5 name entity.name.function.js 6 name storage.type.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.prototype.function.arrow.js patterns include #function-declaration-parameters captures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name variable.language.prototype.js 4 name keyword.operator.accessor.js 5 name entity.name.function.js 6 name storage.type.js 7 name variable.parameter.function.js 8 name storage.type.function.arrow.js match (?x) (\b_?[A-Z][$\w]*)? (\.)(prototype) (\.)([_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*\b([_$a-zA-Z][$\w]*)\s*(=>) name meta.prototype.function.arrow.js begin (?x) (\b_?[A-Z][$\w]*)? (\.)([_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*(?=\([^()]*\)\s*(=>)) beginCaptures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name entity.name.function.js 4 name storage.type.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.function.static.arrow.js patterns include #function-declaration-parameters captures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name entity.name.function.js 4 name storage.type.js 5 name variable.parameter.function.js 6 name storage.type.function.arrow.js match (?x) (\b_?[A-Z][$\w]*)? (\.)([_$a-zA-Z][$\w]*) \s*= \s*(async)? \s*\b([_$a-zA-Z][$\w]*)\s*(=>) name meta.function.static.arrow.js literal-arrow-function-labels patterns begin (?x) \b([_$a-zA-Z][$\w]*) \s*(:) \s*(async)? \s*(?=\([^()]*\)\s*(=>)) beginCaptures 1 name entity.name.function.js 2 name punctuation.separator.key-value.js 3 name storage.type.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.function.json.arrow.js patterns include #function-declaration-parameters captures 1 name entity.name.function.js 2 name punctuation.separator.key-value.js 3 name storage.type.js 4 name variable.parameter.function.js 5 name storage.type.function.arrow.js match (?x) \b([_$a-zA-Z][$\w]*) \s*(:) \s*(async)? \s*\b([_$a-zA-Z][$\w]*)\s*(=>) name meta.function.json.arrow.js begin (?x) (?: ((')((?:[^']|\\')*)('))| ((")((?:[^"]|\\")*)(")) ) \s*(:) \s*(async)? \s*(?=\([^()]*\)\s*(=>)) beginCaptures 1 name string.quoted.single.js 10 name storage.type.js 2 name punctuation.definition.string.begin.js 3 name entity.name.function.js 4 name punctuation.definition.string.end.js 5 name string.quoted.double.js 6 name punctuation.definition.string.begin.js 7 name entity.name.function.js 8 name punctuation.definition.string.end.js 9 name punctuation.separator.key-value.js end (?<=\))\s*(=>) endCaptures 1 name storage.type.function.arrow.js name meta.function.json.arrow.js patterns include #function-declaration-parameters captures 1 name string.quoted.single.js 10 name storage.type.js 11 name variable.parameter.function.js 12 name storage.type.function.arrow.js 2 name punctuation.definition.string.begin.js 3 name entity.name.function.js 4 name punctuation.definition.string.end.js 5 name string.quoted.double.js 6 name punctuation.definition.string.begin.js 7 name entity.name.function.js 8 name punctuation.definition.string.end.js 9 name punctuation.separator.key-value.js match (?x) (?: ((')((?:[^']|\\')*)('))| ((")((?:[^"]|\\")*)(")) ) \s*(:) \s*(async)? \s*\b([_$a-zA-Z][$\w]*)\s*(=>) name meta.function.json.arrow.js literal-class patterns begin (?x) (?<!\.)\b(class) \s+((?!\b(extends)\b)[_$a-zA-Z][$\w]*)? beginCaptures 1 name storage.type.class.js 2 name entity.name.class.js end } endCaptures 0 name meta.brace.curly.js name meta.class.js patterns begin \b(extends)\b beginCaptures 1 name storage.type.extends.js end (?={) name meta.class.extends.js patterns include #expression begin { beginCaptures 0 name meta.brace.curly.js end (?=}) patterns include #brackets include #comments include #literal-method include #literal-property-initializer include #expression literal-constructor patterns begin (new)\s+(?=[_$a-zA-Z][$\w.]*) beginCaptures 1 name keyword.operator.new.js end (?![_$a-zA-Z.]) name meta.instance.constructor patterns include #support include #literal-language-variable match \. name keyword.operator.accessor.js match (?<=\.)\s*[_$a-zA-Z][$\w]*(?=\s*\() name entity.name.type.new.js captures 2 name variable.other.property.js match (?<=\.)\s*[_$a-zA-Z][$\w]* name meta.property.object.js literal-for patterns begin (?<!\.)\b(for)\b beginCaptures 1 name keyword.control.loop.js end \) endCaptures 0 name meta.brace.round.js name meta.for.js patterns begin \( beginCaptures 0 name meta.brace.round.js end (?=\)) patterns include #literal-keyword-storage include #expression include #literal-punctuation literal-function patterns begin (?x) (?:\b(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name storage.type.js 2 name storage.type.function.js 3 name keyword.generator.asterisk.js 4 name entity.name.function.js end (?<=\)) name meta.function.js patterns include #function-declaration-parameters begin (?x) (\b[_$a-zA-Z][$\w]*) \s*= \s*(?:(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name entity.name.function.js 2 name storage.type.js 3 name storage.type.function.js 4 name keyword.generator.asterisk.js 5 name entity.name.function.js end (?<=\)) name meta.function.js patterns include #function-declaration-parameters begin (?x) (\b_?[A-Z][$\w]*)? (\.)(prototype) (\.)([_$a-zA-Z][$\w]*) \s*= \s*(?:(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name variable.language.prototype.js 4 name keyword.operator.accessor.js 5 name entity.name.function.js 6 name storage.type.js 7 name storage.type.function.js 8 name keyword.generator.asterisk.js 9 name entity.name.function.js end (?<=\)) name meta.prototype.function.js patterns include #function-declaration-parameters begin (?x) (\b_?[A-Z][$\w]*)? (\.)([_$a-zA-Z][$\w]*) \s*= \s*(?:(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name entity.name.function.js 4 name storage.type.js 5 name storage.type.function.js 6 name keyword.generator.asterisk.js 7 name entity.name.function.js end (?<=\)) name meta.function.static.js patterns include #function-declaration-parameters literal-function-call patterns captures 1 name entity.name.function.js 2 name meta.group.braces.round.function.arguments.js match (?x) ([_$a-zA-Z][$\w]*)\s* (\(\s*\)) name meta.function-call.without-arguments.js captures 1 name entity.name.function.js match (?x) ([_$a-zA-Z][$\w]*)\s* (?=\() name meta.function-call.with-arguments.js literal-function-labels patterns begin (?x) \b([_$a-zA-Z][$\w]*) \s*(:) \s*(?:(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name entity.name.function.js 2 name punctuation.separator.key-value.js 3 name storage.type.js 4 name storage.type.function.js 5 name keyword.generator.asterisk.js 6 name entity.name.function.js end (?<=\)) name meta.function.json.js patterns include #function-declaration-parameters begin (?x) (?: ((')((?:[^']|\\')*)('))| ((")((?:[^"]|\\")*)(")) ) \s*(:) \s*(?:(async)\s+)? \s*(function)(?:\s*(\*)|(?=\s|[(])) \s*([_$a-zA-Z][$\w]*)?\s* beginCaptures 1 name string.quoted.single.js 10 name storage.type.js 11 name storage.type.function.js 12 name keyword.generator.asterisk.js 13 name entity.name.function.js 2 name punctuation.definition.string.begin.js 3 name entity.name.function.js 4 name punctuation.definition.string.end.js 5 name string.quoted.double.js 6 name punctuation.definition.string.begin.js 7 name entity.name.function.js 8 name punctuation.definition.string.end.js 9 name punctuation.separator.key-value.js end (?<=\)) name meta.function.json.js patterns include #function-declaration-parameters literal-keyword-storage patterns match (?<!\.)\b(const|let|var)\b name storage.type.js literal-keywords patterns include #literal-keyword-storage captures 1 name keyword.control.flow.js 2 name keyword.generator.asterisk.js match (?<!\.)\b(yield)\b(?:\s*(\*))? match (?<!\.)\b(await|return)\b name keyword.control.flow.js match (?<!\.)\b(if|else)\b name keyword.control.conditional.js match (?<!\.)\b(catch|finally|throw|try)\b name keyword.control.trycatch.js match (?<!\.)\b(break|continue|do|goto|while)\b name keyword.control.loop.js literal-labels patterns begin (?x) (?<!\?)(?<!\?\s)(?=( ((')((?:[^']|\\')*)('))| ((")((?:[^"]|\\")*)(")) )\s*:) end : endCaptures 0 name punctuation.separator.key-value.js patterns include #literal-string captures 1 name string.unquoted.label.js 2 name punctuation.separator.key-value.js match (?<!\.|\?|\?\s)([_$a-zA-Z][$\w]*)\s*(:) name constant.other.object.key.js literal-language-constant patterns match (?<!\.)\btrue\b name constant.language.boolean.true.js match (?<!\.)\bfalse\b name constant.language.boolean.false.js match (?<!\.)\bnull\b name constant.language.null.js match (?<!\.)\bundefined\b name constant.language.undefined.js match (?<!\.)\bNaN\b name constant.language.nan.js literal-language-variable patterns match (?<!(?<!\.\.)\.)\b(arguments)\b name variable.language.arguments.js match (?<!(?<!\.\.)\.)\b(super)\b name variable.language.super.js match (?<!(?<!\.\.)\.)\b(this)\b name variable.language.this.js match (?<!(?<!\.\.)\.)\b(self)\b name variable.language.self.js match (?<=\.)\b(__proto__)\b name variable.language.proto.js match (?<=\.)\b(constructor)\b name variable.language.constructor.js match (?<=\.)\b(prototype)\b name variable.language.prototype.js literal-method patterns begin (?x) (?:\b(static)\s+)? (?:\b(async)\s+)? (?:(\*)\s*)?([_$a-zA-Z][$\w]*)\s* (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) beginCaptures 1 name storage.type.js 2 name storage.type.js 3 name keyword.generator.asterisk.js 4 name entity.name.method.js end (?<=\)) name meta.method.js patterns include #function-declaration-parameters begin (?x) \b(?:(static)\s+)? (get|set)\s+ ([_$a-zA-Z][$\w]*)\s* (?=\([^())]*\)(?:\s|/\*.*\*/)*\{) beginCaptures 1 name storage.type.js 2 name storage.type.accessor.js 3 name entity.name.accessor.js end (?<=\)) name meta.accessor.js patterns include #function-declaration-parameters literal-method-call patterns captures 1 name variable.other.class.js 2 name keyword.operator.accessor.js 3 name entity.name.function.js 4 name meta.group.braces.round.function.arguments.js match (?x) (?:(?<=\.)|\b) ([A-Z][$\w]*)\s*(\.) ([_$a-zA-Z][$\w]*)\s* (\(\s*\)) name meta.function-call.static.without-arguments.js captures 1 name variable.other.class.js 2 name keyword.operator.accessor.js 3 name entity.name.function.js match (?x) (?:(?<=\.)|\b) ([A-Z][$\w]*)\s*(\.) ([_$a-zA-Z][$\w]*)\s* (?=\() name meta.function-call.static.with-arguments.js captures 1 name entity.name.function.js 2 name meta.group.braces.round.function.arguments.js match (?x) (?<=\.) ([_$a-zA-Z][$\w]*)\s* (\(\s*\)) name meta.function-call.method.without-arguments.js captures 1 name entity.name.function.js match (?x) (?<=\.) ([_$a-zA-Z][$\w]*)\s* (?=\() name meta.function-call.method.with-arguments.js literal-module patterns match (?<!\.)\b(import|export|default|from|as)\b name keyword.operator.module.js literal-number patterns match (?i)(?:\B[-+]|\b)0x[0-9a-f]*\.(\B|\b[0-9]+) name invalid.illegal.numeric.hex.js match (?:\B[-+]|\b)0[0-9]+\.(\B|\b[0-9]+) name invalid.illegal.numeric.octal.js match (?xi) (?:\B[-+])? (?: \b0b[0-1]*| # binary \b0o[0-7]*| # octal \b0x[0-9a-f]*| # hex ( \B\.[0-9]+| # e.g. .999 \b[0-9]+(\.[0-9]*)? # e.g. 999.999, 999. or 999 )(e[-+]?[0-9]+)? # e.g. e+123, E-123 ) name constant.numeric.js match (?:\B[-+]|\b)(Infinity)\b name constant.language.infinity.js literal-operators patterns match (?<!\.)\b(delete|in|instanceof|new|of|typeof|void|with)\b name keyword.operator.js match (?x) !(?!=)| # logical-not right-to-left right && | # logical-and left-to-right both \|\| | # logical-or left-to-right both name keyword.operator.logical.js match (?x) =(?!=)| # assignment right-to-left both name keyword.operator.assignment.js match (?x) %= | # assignment right-to-left both &= | # assignment right-to-left both \*= | # assignment right-to-left both \+= | # assignment right-to-left both -= | # assignment right-to-left both /= | # assignment right-to-left both \^= | # assignment right-to-left both \|= | # assignment right-to-left both <<= | # assignment right-to-left both >>= | # assignment right-to-left both >>>= | # assignment right-to-left both name keyword.operator.assignment.augmented.js match (?x) ~ | # bitwise-not right-to-left right << | # bitwise-shift left-to-right both >>> | # bitwise-shift left-to-right both >> | # bitwise-shift left-to-right both & | # bitwise-and left-to-right both \^ | # bitwise-xor left-to-right both \| # bitwise-or left-to-right both name keyword.operator.bitwise.js match (?x) <= | # relational left-to-right both >= | # relational left-to-right both < | # relational left-to-right both > # relational left-to-right both name keyword.operator.relational.js match (?x) === | # equality left-to-right both !== | # equality left-to-right both == | # equality left-to-right both != # equality left-to-right both name keyword.operator.comparison.js match (?x) -- | # decrement n/a right-or-left \+\+ | # increment n/a right-or-left / | # division left-to-right both % | # modulus left-to-right both \* | # multiplication left-to-right both \+ | # addition left-to-right both - # subtraction left-to-right both name keyword.operator.arithmetic.js match \?|: name keyword.operator.ternary.js match (?<!\.)\.\.\. name keyword.operator.spread.js match \. name keyword.operator.accessor.js literal-property-initializer patterns captures 1 name storage.type.js 2 name variable.class.property.js match \b(?:(static)\s+)?([_$a-zA-Z][$\w]*)\s*= name meta.class.property.js literal-prototype patterns captures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name variable.language.prototype.js match ([_$a-zA-Z][$\w]*)(\.)(prototype)\b name meta.prototype.access.js captures 1 name entity.name.class.js 2 name keyword.operator.accessor.js 3 name variable.language.prototype.js match ([_$a-zA-Z][$\w]*)(\.)(prototype)\s*=\s* name meta.prototype.declaration.js literal-punctuation patterns match \; name punctuation.terminator.statement.js match , name meta.delimiter.comma.js literal-template-string patterns begin ([a-zA-Z$_][\w$_]*)?(`) beginCaptures 1 name entity.template-string.tag.name.js 2 name punctuation.definition.template-string.begin.js end ` endCaptures 0 name punctuation.definition.template-string.end.js name string.template-string.js patterns include #string-content begin \${ beginCaptures 0 name punctuation.template-string.element.begin.js end } endCaptures 0 name punctuation.template-string.element.end.js name entity.template-string.element.js patterns include #expression literal-regexp patterns begin (?x) (?<= \.|\(|,|{|}|\[|;|,|<|>|<=|>=|==|!=|===|!==|\+|-|\*|%|\+\+|--|<<|>>|>>>|&|\||\^|!|~|&&|\|\||\?|:|=|\+=|-=|\*=|%=|<<=|>>=|>>>=|&=|\|=|\^=|/|/=| \Wnew|\Wdelete|\Wvoid|\Wtypeof|\Winstanceof|\Win|\Wdo|\Wreturn|\Wcase|\Wthrow| ^new|^delete|^void|^typeof|^instanceof|^in|^do|^return|^case|^throw|^ )\s* (/) (?!/|\*|$) beginCaptures 1 name punctuation.definition.string.begin.js end (/)([gimy]*) endCaptures 1 name punctuation.definition.string.end.js 2 name keyword.other.js name string.regexp.js patterns include source.regexp.js literal-string patterns begin ' beginCaptures 0 name punctuation.definition.string.begin.js end (')|(\n) endCaptures 1 name punctuation.definition.string.end.js 2 name invalid.illegal.newline.js name string.quoted.single.js patterns include #string-content begin " beginCaptures 0 name punctuation.definition.string.begin.js end (")|(\n) endCaptures 1 name punctuation.definition.string.end.js 2 name invalid.illegal.newline.js name string.quoted.double.js patterns include #string-content literal-switch patterns begin (?<!\.)\b(switch)\b beginCaptures 1 name keyword.control.switch.js end \} endCaptures 0 name meta.brace.curly.js name meta.switch.js patterns include #round-brackets begin \{ beginCaptures 0 name meta.brace.curly.js end (?=}) patterns begin (?<!\.)\b(case|default)\b beginCaptures 1 name keyword.control.switch.js end (?=:) patterns include #expression include $self literal-variable patterns match [A-Z][_$\dA-Z]*\b name variable.other.constant.js captures 1 name punctuation.dollar.js match (\$)[$\w]+ name variable.other.dollar.js captures 1 name variable.other.class.js 2 name keyword.operator.accessor.js 3 name variable.other.property.static.js match (?x) \b([A-Z][$\w]*)\s*(\.) ([_$a-zA-Z][$\w]*) name meta.property.class.js captures 1 name variable.other.object.js match (?<!\.)[_$a-zA-Z][$\w]*\s*(?=[\[\.]) name variable.other.object.js captures 2 name variable.other.property.js match (?<=\.)\s*[_$a-zA-Z][$\w]* name meta.property.object.js match [_$a-zA-Z][$\w]* name variable.other.readwrite.js round-brackets patterns begin \( beginCaptures 0 name meta.brace.round.js end \) endCaptures 0 name meta.brace.round.js name meta.group.braces.round patterns include #expression special-comments-conditional-compilation patterns begin /\*(?=@) captures 0 name punctuation.definition.comment.js end \*/ endCaptures 1 name keyword.control.conditional.js 2 name punctuation.definition.keyword.js name comment.block.conditional.js patterns match /\* name punctuation.definition.comment.js include $self captures 1 name punctuation.definition.keyword.js match (@)(if|elif|else|end|ifdef|endif|cc_on|set)\b name keyword.control.conditional.js captures 1 name punctuation.definition.variable.js match (@)(_win32|_win16|_mac|_alpha|_x86|_mc680x0|_PowerPC|_jscript|_jscript_build|_jscript_version|_debug|_fast|[a-zA-Z]\w+) name variable.other.conditional.js square-brackets patterns begin \[ beginCaptures 0 name meta.brace.square.js end \] endCaptures 0 name meta.brace.square.js name meta.group.braces.square patterns include #expression string-content patterns match \\\s*\n name constant.character.escape.newline.js match \\(x[\da-fA-F]{2}|u[\da-fA-F]{4}|.) name constant.character.escape.js support patterns match \b(Array|Boolean|Date|Function|Map|Math|Number|Object|Promise|Proxy|RegExp|Set|String|WeakMap)\b name support.class.builtin.js match (?<!\.)\b(decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|eval|isFinite|isNaN|parseFloat|parseInt|unescape)\b name support.function.js match \.(shift|sort|splice|unshift|pop|push|reverse)\b name support.function.mutator.js match (?<!\.)\b((Eval|Range|Reference|Syntax|Type|URI)?Error)\b name support.class.error.js match (?<!\.)\b(debugger)\b name keyword.other.js match (?<!\.)\b(document|window)\b name support.type.object.dom.js match (?x) \b( ELEMENT_NODE|ATTRIBUTE_NODE|TEXT_NODE|CDATA_SECTION_NODE|ENTITY_REFERENCE_NODE|ENTITY_NODE|PROCESSING_INSTRUCTION_NODE|COMMENT_NODE| DOCUMENT_NODE|DOCUMENT_TYPE_NODE|DOCUMENT_FRAGMENT_NODE|NOTATION_NODE|INDEX_SIZE_ERR|DOMSTRING_SIZE_ERR|HIERARCHY_REQUEST_ERR| WRONG_DOCUMENT_ERR|INVALID_CHARACTER_ERR|NO_DATA_ALLOWED_ERR|NO_MODIFICATION_ALLOWED_ERR|NOT_FOUND_ERR|NOT_SUPPORTED_ERR|INUSE_ATTRIBUTE_ERR )\b name support.constant.dom.js captures 1 name support.type.object.console.js 2 name keyword.operator.accessor.js 3 name support.function.console.js match (?<!\.)\b(console)(?:(\.)(warn|info|log|error|time|timeEnd|assert|count|dir|group|groupCollapsed|groupEnd|profile|profileEnd|table|trace))?\b match (?<!\.)\b(assert|buffer|child_process|cluster|constants|crypto|dgram|dns|domain|events|fs|http|https|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|timers|tls|tty|url|util|vm|zlib)\b name support.module.node.js captures 1 name support.type.object.process.js 2 name keyword.operator.accessor.js 3 name support.type.object.process.js match (?<!\.)\b(process)(?:(\.)(stdout|stderr|stdin|argv|execPath|execArgv|env|exitCode|version|versions|config|pid|title|arch|platform|mainModule))?\b captures 1 name support.type.object.process.js 2 name keyword.operator.accessor.js 3 name support.function.process.js match (?<!\.)\b(process)(?:(\.)(abort|chdir|cwd|exit|getgid|setgid|getuid|setuid|setgroups|getgroups|initgroups|kill|memoryUsage|nextTick|umask|uptime|hrtime))?\b captures 1 name support.type.object.module.js 2 name keyword.operator.accessor.js 3 name support.type.object.module.js match (?<!\.)\b(exports|module(?:(\.)(exports|id|filename|loaded|parent|children)))?\b match (?<!\.)\b(global|GLOBAL|root|__dirname|__filename)\b name support.type.object.node.js match \b(Buffer|EventEmitter|Server|Pipe|Socket|REPLServer|ReadStream|WriteStream|Stream|Inflate|Deflate|InflateRaw|DeflateRaw|GZip|GUnzip|Unzip|Zip)\b name support.class.node.js begin {{ end }} name meta.tag.mustache.js scopeName source.js uuid 487CF323-A3F9-48FA-B140-DCE8C893E664