<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language
[
<!ENTITY identifier "[a-zA-Z_$[:^ascii:]][\w$[:^ascii:]]*+">
<!ENTITY numSuffix "(?=n?(?:[^\w]|$))">
<!ENTITY objectOp "[\?!]?">
<!ENTITY objectPoint "\s*&objectOp;\.">
<!ENTITY endLine "\s*(?:$|//|(?:/\*.*\*/\s*)+(?:$|//))">
<!ENTITY parameter "&identifier;(?=\s*&objectOp;:)">
<!ENTITY utilityTypes "\b(?:Partial|Readonly|Record|Pick|Omit|Exclude|Extract|NonNullable|ReturnType|InstanceType|Required|ThisType)(?=\s*<)">
<!ENTITY functionSuffix "(?=\s*(?:<(?:\{(?:[^\{\}]|\{[^\{\}]*\})*\}|\((?:[^\(\)]|\([^\(\)]*\))*\)|\[(?:[^\[\]]|\[[^\[\]]*\])*\]|'(?:\\.|[^'])*'|"(?:\\.|[^"])*"|`(?:\\.|[^`])*`|[^<>]|<.*>)*>)?\()">
<!ENTITY codeContent ""(?:[^"]|\\.)*"|'(?:[^']|\\.)*'|`(?:[^`]|\\.)`|/\*.*\*/|/(?:[^/\\\[]|\\.|\[(?:[^\]\\]|\\.)+\])+/">
<!ENTITY DecimalIntegerLiteral "(0|[1-9][0-9]*+(_[0-9]++)*+)">
<!ENTITY DecimalDigits "([0-9]++(_[0-9]++)*+)">
<!ENTITY ExponentPart "([eE][+-]?&DecimalDigits;)">
<!ENTITY float "\b&DecimalIntegerLiteral;(\.&DecimalDigits;?&ExponentPart;?|&ExponentPart;)|\.&DecimalDigits;&ExponentPart;?">
]>
<language name="TypeScript"
alternativeNames="TS"
version="18"
kateversion="5.53"
section="Scripts"
extensions="*.ts;*.mts;*.cts"
priority="9"
mimetype="text/typescript;application/typescript;text/x-typescript;application/x-typescript"
indenter="cstyle"
author="Nibaldo González (nibgonz@gmail.com)"
license="MIT">
<highlighting>
<list name="controlflow">
<include>controlflow##JavaScript</include>
<item>goto</item>
</list>
<list name="keywords">
<include>keywords##JavaScript</include>
</list>
<list name="reserved">
<include>reserved##JavaScript</include>
<item>type</item>
<item>arguments</item>
<item>declare</item>
<item>readonly</item>
<item>abstract</item>
<item>constructor</item>
<item>get</item>
<item>set</item>
</list>
<list name="module">
<include>module##JavaScript</include>
</list>
<list name="primitives">
<include>primitives##JavaScript</include>
<item>object</item>
</list>
<list name="control_export_types">
<item>namespace</item>
<item>module</item>
</list>
<list name="types_operator_expression">
<item>keyof</item>
<item>infer</item>
<item>awaited</item>
</list>
<list name="types">
<item>string</item>
<item>number</item>
<item>bigint</item>
<item>boolean</item>
<item>symbol</item>
<item>any</item>
<item>void</item>
<item>never</item>
<item>unknown</item>
<item>undefined</item>
<item>null</item>
<item>object</item>
</list>
<list name="class_builtin">
<include>class_builtin##JavaScript</include>
</list>
<list name="class_dom">
<include>class_dom##JavaScript</include>
</list>
<list name="class_node">
<include>class_node##JavaScript</include>
</list>
<list name="variable_property">
<include>variable_property##JavaScript</include>
</list>
<list name="functions">
<include>functions##JavaScript</include>
</list>
<list name="console_functions">
<include>console_functions##JavaScript</include>
</list>
<list name="process_property">
<include>process_property##JavaScript</include>
</list>
<list name="process_functions">
<include>process_functions##JavaScript</include>
</list>
<list name="number_constant">
<include>number_constant##JavaScript</include>
</list>
<list name="math_constant">
<include>math_constant##JavaScript</include>
</list>
<list name="math_functions">
<include>math_functions##JavaScript</include>
</list>
<list name="json_functions">
<include>json_functions##JavaScript</include>
</list>
<list name="promise_functions">
<include>promise_functions##JavaScript</include>
</list>
<list name="node_variable">
<include>node_variable##JavaScript</include>
</list>
<list name="dom_variable">
<include>dom_variable##JavaScript</include>
</list>
<list name="dom_constant">
<include>dom_constant##JavaScript</include>
</list>
<list name="dom_property">
<include>dom_property##JavaScript</include>
</list>
<list name="dom_functions">
<include>dom_functions##JavaScript</include>
</list>
<list name="eventhandler_property">
<include>eventhandler_property##JavaScript</include>
</list>
<list name="function_common">
<include>function_common##JavaScript</include>
</list>
<contexts>
<context name="Shebang" attribute="Normal Text" lineEndContext="Normal" lineEmptyContext="Normal" fallthrough="true" fallthroughContext="Normal">
<Detect2Chars context="ShebangLine" attribute="Comment" char="#" char1="!" column="0" />
</context>
<context name="ShebangLine" attribute="Comment" lineEndContext="#pop!Normal" />
<context name="Normal" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="Normal Pt1" />
<RegExpr context="#stay" attribute="Parameter" String="¶meter;" />
<IncludeRules context="Normal Pt2" />
</context>
<context name="Normal Pt1" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="JSBaseSomeSymboles##JavaScript" />
<DetectChar context="Types" attribute="Symbol" char=":" />
<DetectChar context="Object" attribute="Normal Text" char="{" beginRegion="Brace" />
<DetectChar context="#stay" attribute="Normal Text" char="[" beginRegion="List" />
<DetectChar context="NoRegExp" attribute="Normal Text" char="]" endRegion="List" />
<DetectChar context="#stay" attribute="Normal Text" char="(" />
<DetectChar context="NoRegExp" attribute="Normal Text" char=")" />
<StringDetect context="#stay" attribute="Symbol" String="..." />
<IncludeRules context="FindNumbers" />
<DetectChar context="MemberObject" attribute="Symbol" char="." />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindPrivateOperator##JavaScript" />
<RegExpr context="#stay" attribute="Reserved" String="\babstract(?=\s+(?:class|interface)\b)" />
<RegExpr context="NewTarget" attribute="Keyword" String="\bnew(?=&objectPoint;\s*target\b)" />
<RegExpr context="MemberObject" attribute="Objects" String="\bnew(?=&objectOp;\.)" />
<WordDetect context="#stay" attribute="Keyword" String="new" />
<keyword context="#stay" attribute="ControlFlow" String="controlflow" />
<RegExpr context="#stay" attribute="ControlFlow" String="\bdefault(?=\s*&objectOp;:)" />
</context>
<context name="Normal Pt2" attribute="Normal Text" lineEndContext="#stay">
<WordDetect context="TypeDeclaration" attribute="Reserved" String="type" />
<WordDetect context="FunctionDeclaration" attribute="Keyword" String="function" />
<keyword context="#stay" attribute="Keyword" String="keywords" />
<keyword context="#stay" attribute="Reserved" String="reserved" />
<RegExpr context="#stay" attribute="Built-in Objects" String="&utilityTypes;" />
<IncludeRules context="BuiltInClasses" />
<IncludeRules context="BuiltInConstants" />
<RegExpr context="MemberObject" attribute="Objects" String="&identifier;(?=&objectPoint;)" />
<RegExpr context="Types" attribute="Module" String="\bas(?=\s)" />
<WordDetect context="Import" attribute="Module" String="import" />
<RegExpr context="#stay" attribute="Module" String="\bexport\s+type\b" />
<keyword context="ControlExport" attribute="Module" String="control_export_types" />
<keyword context="#stay" attribute="Module" String="module" />
<keyword context="NoRegExp" attribute="Keyword" String="primitives" />
<keyword context="#stay" attribute="Keyword" String="types_operator_expression" />
<RegExpr context="Function" attribute="Function Name" String="(&identifier;)&functionSuffix;" lookAhead="true" />
<RegExpr context="#stay" attribute="Function Name" String="&identifier;(?=\s*`)" />
<Detect2Chars context="#stay" attribute="Symbol" char="?" char1="?" />
<RegExpr context="ConditionalExpression" attribute="Symbol" String="\?(?=\s*(?:(?:[^/"'`\s\?:\.;,\=\}\]\)]|&codeContent;)(?:[^/"'`]|&codeContent;)*)?&identifier;\s*(?:/\*.*\*/\s*)*:|(?:&&|\|\||\s*(?:/\*.*\*/\s*)*&identifier;)?&endLine;)" minimal="true" />
<RegExpr context="TypesAngleBracket" attribute="Symbol" String="<(?=(?:&identifier;|[\[\{\(<]).*>)" />
<IncludeRules context="JSBase##JavaScript" />
</context>
<context name="ConditionalExpression" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop" attribute="Symbol" char=":" />
<IncludeRules context="ConditionalExpressionEnd" />
<DetectChar context="#stay" attribute="Symbol" char="?" />
<IncludeRules context="FindConditionalExpressionBrackets" />
<IncludeRules context="Normal-ParametersOverridden" />
</context>
<context name="Normal-ParametersOverridden" attribute="Normal Text" lineEndContext="#stay">
<IncludeRules context="Normal Pt1" />
<IncludeRules context="Normal Pt2" />
</context>
<context name="ConditionalExpressionEnd" attribute="Normal Text" lineEndContext="#stay">
<AnyChar context="#pop" String=";,}])" lookAhead="true" />
<RegExpr context="#pop" String="\=(?!>)" lookAhead="true" />
<StringDetect context="#pop" String="```" lookAhead="true" firstNonSpace="true" />
<StringDetect context="#pop" String="~~~" lookAhead="true" firstNonSpace="true" />
<RegExpr context="#pop" String="</script\s*(?:>|$)" insensitive="true" lookAhead="true" />
</context>
<context name="FindConditionalExpressionBrackets" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="ConditionalExpressionRoundBracket" attribute="Normal Text" char="(" />
<DetectChar context="ConditionalExpressionSquareBracket" attribute="Symbol" char="[" beginRegion="List" />
</context>
<context name="ConditionalExpressionRoundBracket" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop!NoRegExp" attribute="Normal Text" char=")" />
<IncludeRules context="FindConditionalExpressionBrackets" />
<IncludeRules context="Normal" />
</context>
<context name="ConditionalExpressionSquareBracket" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop!NoRegExp" attribute="Symbol" char="]" endRegion="List" />
<IncludeRules context="FindConditionalExpressionBrackets" />
<IncludeRules context="Normal" />
</context>
<context name="Object" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop" attribute="Normal Text" char="}" endRegion="Brace" />
<keyword context="NoRegExp" attribute="Keyword" String="keywords" />
<RegExpr context="TypesNewLine" attribute="Symbol" String=":(?=&endLine;)" minimal="true" />
<IncludeRules context="Normal" />
</context>
<context name="NoRegExp" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
<IncludeRules context="NoRegExp##JavaScript" />
</context>
<context name="NoRegExpSameLine" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<IncludeRules context="NoRegExp##JavaScript" />
</context>
<context name="FindNumbers" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Float" context="NoRegExp" String="&float;" />
<AnyChar context="Integer" String="0123456789" lookAhead="1"/>
</context>
<context name="Integer" attribute="Normal Text" lineEndContext="#stay">
<RegExpr attribute="Hexadecimal" context="#pop!NumericSufix" String="\b0[xX][0-9a-fA-F]++(_[0-9a-fA-F]++)*+"/>
<RegExpr attribute="Octal" context="#pop!NumericSufix" String="\b0([oO][0-7]++(_[0-7]++)*+|0*+[1-7][0-7]*+(_[0-7]++)*+(?!_?[89]))" />
<RegExpr attribute="Binary" context="#pop!NumericSufix" String="\b0[bB][01]++(_[01]++)*+" />
<RegExpr attribute="Decimal" context="#pop!NumericSufix" String="\b0*+([1-9][0-9]*+(_[0-9]++)*+)?"/>
</context>
<context attribute="Normal Text" lineEndContext="#pop" name="NumericSufix" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectChar attribute="Normal Text" context="#pop!NoRegExp" char="n" />
<IncludeRules context="NumericSufixError##JavaScript" />
</context>
<context name="Function" attribute="Normal Text" lineEndContext="#pop">
<keyword context="#pop" attribute="Function (Built-in)" String="functions" />
<StringDetect context="#pop" attribute="Function Name" String="%1" dynamic="true" />
<AnyChar context="#pop" String="(<>" lookAhead="true" />
</context>
<context name="FunctionDeclaration" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces />
<RegExpr context="#pop" attribute="Function Declaration" String="&identifier;&functionSuffix;" />
<IncludeRules context="FindComments##JavaScript" />
</context>
<context name="FindStrings" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="Template" attribute="Template" char="`" beginRegion="Template" />
<IncludeRules context="FindStrings##JavaScript" />
</context>
<context name="Template" attribute="Template" lineEndContext="#stay">
<IncludeRules context="Escape##JavaScript" />
<Detect2Chars context="Substitution" attribute="Substitution" char="$" char1="{" />
<DetectChar context="RegExpAfterString##JavaScript" attribute="Template" char="`" endRegion="Template" />
</context>
<context name="Substitution" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop" attribute="Substitution" char="}" />
<IncludeRules context="Normal" />
</context>
<context name="TypeDeclaration" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<AnyChar context="#pop" String=";,{})]" lookAhead="true" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Normal" />
</context>
<context name="Types" attribute="Normal Text" lineEndContext="#pop">
<IncludeRules context="FixPopLineEndContext" />
<IncludeRules context="TypesCommon" />
</context>
<context name="TypesCommon" attribute="Normal Text" lineEndContext="#pop">
<DetectSpaces />
<IncludeRules context="TypesEnd" />
<RegExpr context="#pop!TypesNewLine" attribute="Symbol" String="[\|&](?=&endLine;)" minimal="true" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Normal-ParametersOverridden" />
</context>
<context name="TypesEnd" attribute="Normal Text" lineEndContext="#stay">
<AnyChar context="#pop" String=";,}])" lookAhead="true" />
<RegExpr context="#pop" String="\=(?!>)" lookAhead="true" />
<Detect2Chars context="#pop" char="/" char1="/" lookAhead="true" />
</context>
<context name="TypesNewLine" attribute="Normal Text" lineEndContext="#stay" fallthrough="true" fallthroughContext="#pop!TypesCommon">
<DetectSpaces />
<IncludeRules context="FindComments##JavaScript" />
</context>
<context name="FixPopLineEndContext" attribute="Normal Text" lineEndContext="#stay">
<RegExpr context="#pop" String="\S" firstNonSpace="true" lookAhead="true" />
</context>
<context name="DefaultTypes" attribute="Normal Text" lineEndContext="#stay">
<keyword context="NoRegExpSameLine" attribute="Types" String="types" />
<WordDetect context="NoRegExpSameLine" attribute="Keyword" String="asserts" />
<WordDetect context="NoRegExpSameLine" attribute="Keyword" String="is" />
<RegExpr context="#stay" attribute="Types" String="\b(?:string|number|bigint|boolean|symbol|any|void|never|unknown|undefined|null|object)(?=\})" />
<AnyChar context="#stay" attribute="Symbol" String=":?" />
<WordDetect context="#stay" attribute="Module" String="as" />
</context>
<context name="TypesFindBrackets" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="TypesSquareBracket" attribute="Normal Text" char="[" beginRegion="List" />
<DetectChar context="TypesCurlyBracket" attribute="Normal Text" char="{" beginRegion="Brace" />
<DetectChar context="TypesRoundBracket" attribute="Normal Text" char="(" />
</context>
<context name="TypesSquareBracket" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop!NoRegExp" attribute="Normal Text" char="]" endRegion="List" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Normal" />
</context>
<context name="TypesCurlyBracket" attribute="Normal Text" lineEndContext="#pop!Object">
<DetectChar context="#pop" attribute="Normal Text" char="}" endRegion="Brace" />
<RegExpr context="#pop!Object" String="\S" firstNonSpace="true" lookAhead="true" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Object" />
</context>
<context name="TypesRoundBracket" attribute="Normal Text" lineEndContext="#pop">
<DetectChar context="#pop!NoRegExp" attribute="Normal Text" char=")" />
<IncludeRules context="FixPopLineEndContext" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Normal" />
</context>
<context name="TypesAngleBracket" attribute="Normal Text" lineEndContext="#pop">
<DetectChar context="#pop" attribute="Symbol" char=">" />
<IncludeRules context="TypesAngleBracketEnd" />
<IncludeRules context="FixPopLineEndContext" />
<IncludeRules context="TypesFindBrackets" />
<IncludeRules context="DefaultTypes" />
<IncludeRules context="Normal" />
</context>
<context name="TypesAngleBracketEnd" attribute="Normal Text" lineEndContext="#stay">
<AnyChar context="#pop" String="})];" lookAhead="true" />
</context>
<context name="NewTarget" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<DetectSpaces />
<AnyChar context="#stay" attribute="Symbol" String=".?!" />
<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="target" />
</context>
<context name="ControlExport" attribute="Normal Text" lineEndContext="#pop">
<AnyChar context="#pop" attribute="Normal Text" String="{;" lookAhead="true" />
<IncludeRules context="FindStrings" />
<RegExpr context="#stay" attribute="Types" String="&identifier;" />
<IncludeRules context="FindComments##JavaScript" />
</context>
<context name="Import" attribute="Normal Text" lineEndContext="#pop">
<DetectChar context="#pop!ImportRequireKey" attribute="Symbol" char="=" />
<WordDetect context="#stay" attribute="Module" String="type" />
<WordDetect context="#pop!NoRegExp" attribute="Keyword" String="meta" />
<RegExpr context="#pop" String="." lookAhead="true" firstNonSpace="true" />
<AnyChar context="#pop" String="{}()[];," lookAhead="true" />
<IncludeRules context="Normal" />
</context>
<context name="ImportRequireKey" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<RegExpr context="#stay" attribute="Keyword" String="\s*require\s*(?=\()" />
<DetectChar context="ImportRequire" attribute="Normal Text" char="(" beginRegion="import" />
</context>
<context name="ImportRequire" attribute="Normal Text" lineEndContext="#stay">
<DetectChar context="#pop#pop" attribute="Normal Text" char=")" endRegion="import" />
<IncludeRules context="FindStrings" />
<IncludeRules context="FindNumbers" />
<IncludeRules context="FindComments##JavaScript" />
</context>
<context name="MemberObject" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<IncludeRules context="DefaultMemberObject" />
<keyword context="#pop!NoRegExp" attribute="Object Member" String="dom_property" />
<keyword context="#pop!NoRegExp" attribute="Function Name" String="dom_functions" />
<keyword context="#pop!NoRegExp" attribute="Object Member" String="eventhandler_property" />
<keyword context="#pop!NoRegExp" attribute="Function Name" String="function_common" />
</context>
<context name="DefaultMemberObject" attribute="Normal Text" lineEndContext="#pop">
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#stay" attribute="Symbol" char="." />
<Detect2Chars context="#stay" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#stay" attribute="Symbol" char="!" char1="." />
<RegExpr context="#pop" attribute="Function Name" String="&identifier;&functionSuffix;" />
<RegExpr context="#pop" String="&identifier;\s*`" lookAhead="true" />
<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="variable_property" />
<keyword context="#pop!NoRegExp" attribute="Constant" String="dom_constant" />
<IncludeRules context="FindPrivateOperator##JavaScript" />
<RegExpr context="#stay" attribute="Object Member" String="&identifier;(?=&objectPoint;)" />
<RegExpr context="#pop!NoRegExp" attribute="Object Member" String="&identifier;" />
<IncludeRules context="NoRegExp" />
<keyword context="#pop!NoRegExp" attribute="Function Name" String="functions" />
</context>
<context name="FixPointMemberObject" attribute="Normal Text" lineEndContext="#pop">
<StringDetect context="#pop" attribute="Symbol" String="?..." />
<StringDetect context="#pop" attribute="Symbol" String="!..." />
<StringDetect context="#pop" attribute="Symbol" String="..." />
</context>
<context name="BuiltInClasses" attribute="Normal Text" lineEndContext="#stay">
<WordDetect context="FindMemberObjectMath" attribute="Built-in Objects" String="Math" />
<WordDetect context="FindMemberObjectNumber" attribute="Built-in Objects" String="Number" />
<WordDetect context="FindMemberObjectPromise" attribute="Built-in Objects" String="Promise" />
<WordDetect context="FindMemberObjectJSON" attribute="Built-in Objects" String="JSON" />
<WordDetect context="FindMemberObjectConsole" attribute="Built-in Objects" String="console" />
<WordDetect context="FindMemberObjectProcess" attribute="Built-in Objects" String="process" />
<keyword context="NoRegExp" attribute="Built-in Objects" String="class_builtin" />
<keyword context="NoRegExp" attribute="Built-in Objects" String="class_dom" />
<keyword context="FindMemberObjectDOM" attribute="Built-in Objects" String="dom_variable" />
<keyword context="NoRegExp" attribute="Built-in Objects" String="class_node" />
<keyword context="NoRegExp" attribute="Built-in Objects" String="node_variable" />
</context>
<context name="BuiltInConstants" attribute="Normal Text" lineEndContext="#stay">
<keyword context="NoRegExp" attribute="Constant" String="math_constant" />
<keyword context="NoRegExp" attribute="Constant" String="number_constant" />
<keyword context="NoRegExp" attribute="Constant" String="dom_constant" />
</context>
<context name="FindMemberObjectDOM" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectDOM" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectDOM" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectDOM" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectDOM" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!FindMemberObjectDOM" attribute="Object Property (Built-in)" String="dom_property" />
<keyword context="#pop!FindMemberObjectDOM" attribute="Object Method (Built-in)" String="dom_functions" />
<IncludeRules context="DefaultMemberObject" />
<keyword context="#pop!NoRegExp" attribute="Object Member" String="eventhandler_property" />
<keyword context="#pop!NoRegExp" attribute="Function Name" String="function_common" />
</context>
<context name="FindMemberObjectMath" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectMath" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectMath" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectMath" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectMath" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Constant" String="math_constant" />
<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="math_functions" />
<IncludeRules context="DefaultMemberObject" />
</context>
<context name="FindMemberObjectNumber" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectNumber" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectNumber" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectNumber" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectNumber" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Constant" String="number_constant" />
<IncludeRules context="DefaultMemberObject" />
</context>
<context name="FindMemberObjectPromise" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectPromise" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectPromise" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectPromise" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectPromise" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="promise_functions" />
<IncludeRules context="DefaultMemberObject" />
</context>
<context name="FindMemberObjectJSON" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectJSON" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectJSON" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectJSON" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectJSON" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="json_functions" />
<IncludeRules context="DefaultMemberObject" />
</context>
<context name="FindMemberObjectConsole" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectConsole" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectConsole" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectConsole" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectConsole" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="console_functions" />
<IncludeRules context="DefaultMemberObject" />
</context>
<context name="FindMemberObjectProcess" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop!NoRegExp">
<DetectSpaces />
<IncludeRules context="FixPointMemberObject" />
<DetectChar context="#pop!MemberObjectProcess" attribute="Symbol" char="." />
<Detect2Chars context="#pop!MemberObjectProcess" attribute="Symbol" char="?" char1="." />
<Detect2Chars context="#pop!MemberObjectProcess" attribute="Symbol" char="!" char1="." />
</context>
<context name="MemberObjectProcess" attribute="Normal Text" lineEndContext="#pop" fallthrough="true" fallthroughContext="#pop">
<keyword context="#pop!NoRegExp" attribute="Object Method (Built-in)" String="process_functions" />
<keyword context="#pop!NoRegExp" attribute="Object Property (Built-in)" String="process_property" />
<IncludeRules context="DefaultMemberObject" />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Keyword" defStyleNum="dsKeyword" spellChecking="false" />
<itemData name="ControlFlow" defStyleNum="dsControlFlow" spellChecking="false" />
<itemData name="Reserved" defStyleNum="dsKeyword" italic="true" spellChecking="false" />
<itemData name="Module" defStyleNum="dsImport" spellChecking="false" />
<itemData name="Objects" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Object Member" defStyleNum="dsAttribute" spellChecking="false" />
<itemData name="Function Name" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="Function Declaration" defStyleNum="dsFunction" spellChecking="false" />
<itemData name="Built-in Objects" defStyleNum="dsBuiltIn" spellChecking="false" />
<itemData name="Object Property (Built-in)" defStyleNum="dsAttribute" italic="1" spellChecking="false" />
<itemData name="Object Method (Built-in)" defStyleNum="dsFunction" italic="1" spellChecking="false" />
<itemData name="Function (Built-in)" defStyleNum="dsPreprocessor" spellChecking="false" />
<itemData name="Constant" defStyleNum="dsConstant" spellChecking="false" />
<itemData name="Types" defStyleNum="dsDataType" spellChecking="false" />
<itemData name="Parameter" defStyleNum="dsNormal" spellChecking="false" />
<itemData name="Decimal" defStyleNum="dsDecVal" spellChecking="false" />
<itemData name="Octal" defStyleNum="dsBaseN" spellChecking="false" />
<itemData name="Hexadecimal" defStyleNum="dsBaseN" spellChecking="false" />
<itemData name="Binary" defStyleNum="dsBaseN" spellChecking="false" />
<itemData name="Float" defStyleNum="dsFloat" spellChecking="false" />
<itemData name="Template" defStyleNum="dsVerbatimString" />
<itemData name="Substitution" defStyleNum="dsSpecialChar" spellChecking="false" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Symbol" defStyleNum="dsOperator" spellChecking="false" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start="//" position="afterwhitespace" />
<comment name="multiLine" start="/*" end="*/" />
</comments>
<keywords casesensitive="1" additionalDeliminator=""'`" weakDeliminator="$" />
</general>
</language>