neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

typescriptcommon.vim (137143B)


      1 " Vim syntax file
      2 " Language:     TypeScript and TypeScriptReact
      3 " Maintainer:   Herrington Darkholme
      4 " Last Change:  2024 May 24
      5 " 2025 Aug 05   support for new TypeScript syntaxes
      6 " Based On:     Herrington Darkholme's yats.vim
      7 " Changes:      See https://github.com/HerringtonDarkholme/yats.vim
      8 " Credits:      See yats.vim on github
      9 
     10 if &cpo =~ 'C'
     11  let s:cpo_save = &cpo
     12  set cpo&vim
     13 endif
     14 
     15 " NOTE: this results in accurate highlighting, but can be slow.
     16 syntax sync fromstart
     17 
     18 "Dollar sign is permitted anywhere in an identifier
     19 setlocal iskeyword-=$
     20 if main_syntax == 'typescript' || main_syntax == 'typescriptreact'
     21  setlocal iskeyword+=$
     22  " syntax cluster htmlJavaScript                 contains=TOP
     23 endif
     24 " For private field added from TypeScript 3.8
     25 setlocal iskeyword+=#
     26 
     27 " lowest priority on least used feature
     28 syntax match   typescriptLabel                /[a-zA-Z_$]\k*:/he=e-1 contains=typescriptReserved nextgroup=@typescriptStatement skipwhite skipempty
     29 
     30 " other keywords like return,case,yield uses containedin
     31 syntax region  typescriptBlock                 matchgroup=typescriptBraces start=/{/ end=/}/ contains=@typescriptStatement,@typescriptComments fold
     32 syntax cluster afterIdentifier contains=
     33  \ typescriptDotNotation,
     34  \ typescriptFuncCallArg,
     35  \ typescriptTemplate,
     36  \ typescriptIndexExpr,
     37  \ @typescriptSymbols,
     38  \ typescriptTypeArguments
     39 
     40 syntax match   typescriptIdentifierName        /\<\K\k*/
     41  \ nextgroup=@afterIdentifier
     42  \ transparent
     43  \ contains=@_semantic
     44  \ skipnl skipwhite
     45 
     46 syntax match   typescriptProp contained /\K\k*!\?/
     47  \ transparent
     48  \ contains=@props
     49  \ nextgroup=@afterIdentifier
     50  \ skipwhite skipempty
     51 
     52 syntax region  typescriptIndexExpr      contained matchgroup=typescriptProperty start=/\[/ end=/]/ contains=@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty
     53 
     54 syntax match   typescriptDotNotation           /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl
     55 syntax match   typescriptDotStyleNotation      /\.style\./ nextgroup=typescriptDOMStyle transparent
     56 " syntax match   typescriptFuncCall              contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg
     57 syntax region  typescriptParenExp              matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty
     58 syntax region  typescriptFuncCallArg           contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments,typescriptCastKeyword nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl
     59 syntax region  typescriptEventFuncCallArg      contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression
     60 syntax region  typescriptEventString           contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/ contains=typescriptASCII,@events
     61 
     62 syntax region  typescriptDestructureString
     63  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/
     64  \ contains=typescriptASCII
     65  \ nextgroup=typescriptDestructureAs
     66  \ contained skipwhite skipempty
     67 
     68 syntax cluster typescriptVariableDeclarations
     69  \ contains=typescriptVariableDeclaration,@typescriptDestructures
     70 
     71 syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/
     72  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
     73  \ contained skipwhite skipempty
     74 
     75 syntax cluster typescriptDestructureVariables contains=
     76  \ typescriptRestOrSpread,
     77  \ typescriptDestructureComma,
     78  \ typescriptDestructureLabel,
     79  \ typescriptDestructureVariable,
     80  \ @typescriptDestructures
     81 
     82 syntax match typescriptDestructureVariable    /[A-Za-z_$]\k*/ contained
     83  \ nextgroup=typescriptDefaultParam
     84  \ contained skipwhite skipempty
     85 
     86 syntax match typescriptDestructureLabel       /[A-Za-z_$]\k*\ze\_s*:/
     87  \ nextgroup=typescriptDestructureAs
     88  \ contained skipwhite skipempty
     89 
     90 syntax match typescriptDestructureAs /:/
     91  \ nextgroup=typescriptDestructureVariable,@typescriptDestructures
     92  \ contained skipwhite skipempty
     93 
     94 syntax match typescriptDestructureComma /,/ contained
     95 
     96 syntax cluster typescriptDestructures contains=
     97  \ typescriptArrayDestructure,
     98  \ typescriptObjectDestructure
     99 
    100 syntax region typescriptArrayDestructure matchgroup=typescriptBraces
    101  \ start=/\[/ end=/]/
    102  \ contains=@typescriptDestructureVariables,@typescriptComments
    103  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
    104  \ transparent contained skipwhite skipempty fold
    105 
    106 syntax region typescriptObjectDestructure matchgroup=typescriptBraces
    107  \ start=/{/ end=/}/
    108  \ contains=typescriptDestructureString,@typescriptDestructureVariables,@typescriptComments
    109  \ nextgroup=typescriptTypeAnnotation,typescriptAssign
    110  \ transparent contained skipwhite skipempty fold
    111 
    112 "Syntax in the JavaScript code
    113 
    114 " String
    115 syntax match   typescriptASCII                 contained /\\\d\d\d/
    116 
    117 syntax region  typescriptTemplateSubstitution matchgroup=typescriptTemplateSB
    118  \ start=/\${/ end=/}/
    119  \ contains=@typescriptValue,typescriptCastKeyword
    120  \ contained
    121 
    122 
    123 syntax region  typescriptString
    124  \ start=+\z(["']\)+  skip=+\\\%(\z1\|$\)+  end=+\z1+ end=+$+
    125  \ contains=typescriptSpecial,@Spell
    126  \ nextgroup=@typescriptSymbols
    127  \ skipwhite skipempty
    128  \ extend
    129 
    130 syntax match   typescriptSpecial            contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)"
    131 
    132 " From pangloss/vim-javascript
    133 " <https://github.com/pangloss/vim-javascript/blob/d6e137563c47fb59f26ed25d044c0c7532304f18/syntax/javascript.vim#L64-L72>
    134 syntax region  typescriptRegexpCharClass    contained start=+\[+ skip=+\\.+ end=+\]+ contains=typescriptSpecial extend
    135 syntax match   typescriptRegexpBoundary     contained "\v\c[$^]|\\b"
    136 syntax match   typescriptRegexpBackRef      contained "\v\\[1-9]\d*"
    137 syntax match   typescriptRegexpQuantifier   contained "\v[^\\]%([?*+]|\{\d+%(,\d*)?})\??"lc=1
    138 syntax match   typescriptRegexpOr           contained "|"
    139 syntax match   typescriptRegexpMod          contained "\v\(\?[:=!>]"lc=1
    140 syntax region  typescriptRegexpGroup        contained start="[^\\]("lc=1 skip="\\.\|\[\(\\.\|[^]]\+\)\]" end=")" contains=typescriptRegexpCharClass,@typescriptRegexpSpecial keepend
    141 syntax region  typescriptRegexpString
    142  \ start=+\%(\%(\<return\|\<typeof\|\_[^)\]'"[:blank:][:alnum:]_$]\)\s*\)\@<=/\ze[^*/]+ skip=+\\.\|\[[^]]\{1,}\]+ end=+/[gimyus]\{,6}+
    143  \ contains=typescriptRegexpCharClass,typescriptRegexpGroup,@typescriptRegexpSpecial
    144  \ oneline keepend extend
    145 syntax cluster typescriptRegexpSpecial    contains=typescriptSpecial,typescriptRegexpBoundary,typescriptRegexpBackRef,typescriptRegexpQuantifier,typescriptRegexpOr,typescriptRegexpMod
    146 
    147 syntax region  typescriptTemplate
    148  \ start=/`/  skip=/\\\\\|\\`\|\n/  end=/`\|$/
    149  \ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell
    150  \ nextgroup=@typescriptSymbols
    151  \ skipwhite skipempty
    152 
    153 "Array
    154 syntax region  typescriptArray matchgroup=typescriptBraces
    155  \ start=/\[/ end=/]/
    156  \ contains=@typescriptValue,@typescriptComments,typescriptCastKeyword
    157  \ nextgroup=@typescriptSymbols,typescriptDotNotation
    158  \ skipwhite skipempty fold
    159 
    160 " Number
    161 syntax match typescriptNumber /\<0[bB][01][01_]*\>/        nextgroup=@typescriptSymbols skipwhite skipempty
    162 syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/       nextgroup=@typescriptSymbols skipwhite skipempty
    163 syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
    164 syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/
    165  \ nextgroup=@typescriptSymbols skipwhite skipempty
    166 
    167 syntax region  typescriptObjectLiteral         matchgroup=typescriptBraces
    168  \ start=/{/ end=/}/
    169  \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword,typescriptTernary,typescriptCastKeyword
    170  \ fold contained
    171 
    172 syntax keyword typescriptObjectAsyncKeyword async contained
    173 
    174 syntax match   typescriptObjectLabel  contained /\k\+\_s*/
    175  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
    176  \ skipwhite skipempty
    177 
    178 syntax region  typescriptStringProperty   contained
    179  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
    180  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
    181  \ skipwhite skipempty
    182 
    183 " syntax region  typescriptPropertyName    contained start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1(/me=e-1 nextgroup=@typescriptCallSignature skipwhite skipempty oneline
    184 syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptBraces
    185  \ start=/\[/rs=s+1 end=/]/
    186  \ contains=@typescriptValue
    187  \ nextgroup=typescriptObjectColon,@typescriptCallImpl
    188  \ skipwhite skipempty
    189 
    190 " syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*:/he=e-1 contains=@typescriptValue nextgroup=@typescriptValue skipwhite skipempty
    191 " syntax region  typescriptComputedPropertyName  contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*(/me=e-1 contains=@typescriptValue nextgroup=@typescriptCallSignature skipwhite skipempty
    192 " Value for object, statement for label statement
    193 syntax match typescriptRestOrSpread /\.\.\./ contained
    194 syntax match typescriptObjectSpread /\.\.\./ contained containedin=typescriptObjectLiteral,typescriptArray nextgroup=@typescriptValue
    195 
    196 syntax match typescriptObjectColon contained /:/ nextgroup=@typescriptValue skipwhite skipempty
    197 
    198 " + - ^ ~
    199 syntax match typescriptUnaryOp /[+\-~!]/
    200 \ nextgroup=@typescriptValue
    201 \ skipwhite
    202 
    203 syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty
    204 
    205 syntax match   typescriptAssign  /=/ nextgroup=@typescriptValue
    206  \ skipwhite skipempty
    207 
    208 " 2: ==, ===
    209 syntax match   typescriptBinaryOp contained /===\?/ nextgroup=@typescriptValue skipwhite skipempty
    210 " 6: >>>=, >>>, >>=, >>, >=, >
    211 syntax match   typescriptBinaryOp contained />\(>>=\|>>\|>=\|>\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
    212 " 4: <<=, <<, <=, <
    213 syntax match   typescriptBinaryOp contained /<\(<=\|<\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
    214 " 3: ||, |=, |, ||=
    215 syntax match   typescriptBinaryOp contained /||\?=\?/ nextgroup=@typescriptValue skipwhite skipempty
    216 " 4: &&, &=, &, &&=
    217 syntax match   typescriptBinaryOp contained /&&\?=\?/ nextgroup=@typescriptValue skipwhite skipempty
    218 " 2: ??, ??=
    219 syntax match   typescriptBinaryOp contained /??=\?/ nextgroup=@typescriptValue skipwhite skipempty
    220 " 2: *=, *
    221 syntax match   typescriptBinaryOp contained /\*=\?/ nextgroup=@typescriptValue skipwhite skipempty
    222 " 2: %=, %
    223 syntax match   typescriptBinaryOp contained /%=\?/ nextgroup=@typescriptValue skipwhite skipempty
    224 " 2: /=, /
    225 syntax match   typescriptBinaryOp contained +/\(=\|[^\*/]\@=\)+ nextgroup=@typescriptValue skipwhite skipempty
    226 syntax match   typescriptBinaryOp contained /!==\?/ nextgroup=@typescriptValue skipwhite skipempty
    227 " 2: !=, !==
    228 syntax match   typescriptBinaryOp contained /+\(+\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
    229 " 3: +, ++, +=
    230 syntax match   typescriptBinaryOp contained /-\(-\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty
    231 " 3: -, --, -=
    232 
    233 " exponentiation operator
    234 " 2: **, **=
    235 syntax match typescriptBinaryOp contained /\*\*=\?/ nextgroup=@typescriptValue
    236 
    237 syntax cluster typescriptSymbols               contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword
    238 
    239 " runtime syntax/ts-common/reserved.vim
    240 "Import
    241 syntax keyword typescriptImport                from as
    242 syntax keyword typescriptImport                import
    243  \ nextgroup=typescriptImportType,typescriptImportBlock,typescriptDefaultImportName,typescriptImportDefer
    244  \ skipwhite
    245 syntax keyword typescriptImportType            type
    246  \ contained
    247 syntax match typescriptDefaultImportName /\v\h\k*( |,)/
    248  \ contained
    249  \ nextgroup=typescriptImportBlock
    250  \ skipwhite skipempty
    251 syntax match typescriptImportDefer             /\<defer\%(\s\+\*\)\@=/
    252  \ contained
    253 syntax region  typescriptImportBlock
    254  \ matchgroup=typescriptBraces
    255  \ start=/{/ end=/}/
    256  \ contained
    257  \ contains=typescriptIdentifierName,typescriptImportType,typescriptString
    258  \ fold
    259 syntax keyword typescriptExport                export
    260  \ nextgroup=typescriptExportType
    261  \ skipwhite
    262 syntax match typescriptExportType              /\<type\s*{\@=/
    263  \ contained skipwhite skipempty skipnl
    264 syntax keyword typescriptModule                namespace module
    265 
    266 
    267 syntax keyword typescriptCastKeyword           as satisfies
    268  \ nextgroup=@typescriptType
    269  \ skipwhite
    270 
    271 syntax keyword typescriptVariable              let var
    272  \ nextgroup=@typescriptVariableDeclarations
    273  \ skipwhite skipempty
    274 
    275 syntax keyword typescriptVariable const
    276  \ nextgroup=typescriptEnum,@typescriptVariableDeclarations
    277  \ skipwhite skipempty
    278 
    279 syntax keyword typescriptUsing              using
    280  \ nextgroup=@typescriptVariableDeclarations
    281  \ skipwhite skipempty
    282 
    283 syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/
    284  \ nextgroup=typescriptBlock
    285  \ skipwhite
    286 
    287 syntax keyword typescriptKeywordOp
    288  \ contained in instanceof nextgroup=@typescriptValue
    289 syntax keyword typescriptOperator              delete new typeof void
    290  \ nextgroup=@typescriptValue
    291  \ skipwhite skipempty
    292 
    293 syntax keyword typescriptForOperator           contained in of
    294 syntax keyword typescriptBoolean               true false nextgroup=@typescriptSymbols skipwhite skipempty
    295 syntax keyword typescriptMessage               alert confirm prompt status
    296  \ nextgroup=typescriptDotNotation,typescriptFuncCallArg
    297 syntax keyword typescriptGlobal                self top parent
    298  \ nextgroup=@afterIdentifier
    299 
    300 "Statement Keywords
    301 syntax keyword typescriptConditional           if else switch
    302  \ nextgroup=typescriptConditionalParen
    303  \ skipwhite skipempty skipnl
    304 syntax keyword typescriptConditionalElse       else
    305 syntax keyword typescriptRepeat                do while for nextgroup=typescriptLoopParen skipwhite skipempty
    306 syntax keyword typescriptRepeat                for nextgroup=typescriptLoopParen,typescriptAsyncFor skipwhite skipempty
    307 syntax keyword typescriptBranch                break continue containedin=typescriptBlock
    308 syntax keyword typescriptCase                  case nextgroup=@typescriptPrimitive skipwhite containedin=typescriptBlock
    309 syntax keyword typescriptDefault               default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline
    310 syntax keyword typescriptStatementKeyword      with
    311 syntax keyword typescriptStatementKeyword      yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock
    312 
    313 syntax keyword typescriptTry                   try
    314 syntax keyword typescriptExceptions            throw finally
    315 syntax keyword typescriptExceptions            catch nextgroup=typescriptCall skipwhite skipempty oneline
    316 syntax keyword typescriptDebugger              debugger
    317 
    318 syntax keyword typescriptAsyncFor              await nextgroup=typescriptLoopParen skipwhite skipempty contained
    319 
    320 syntax region  typescriptLoopParen             contained matchgroup=typescriptParens
    321  \ start=/(/ end=/)/
    322  \ contains=typescriptVariable,typescriptForOperator,typescriptEndColons,@typescriptValue,@typescriptComments
    323  \ nextgroup=typescriptBlock
    324  \ skipwhite skipempty
    325 syntax region  typescriptConditionalParen             contained matchgroup=typescriptParens
    326  \ start=/(/ end=/)/
    327  \ contains=@typescriptValue,@typescriptComments
    328  \ nextgroup=typescriptBlock
    329  \ skipwhite skipempty
    330 syntax match   typescriptEndColons             /[;,]/ contained
    331 
    332 syntax keyword typescriptAmbientDeclaration declare nextgroup=@typescriptAmbients
    333  \ skipwhite skipempty
    334 
    335 syntax cluster typescriptAmbients contains=
    336  \ typescriptVariable,
    337  \ typescriptFuncKeyword,
    338  \ typescriptClassKeyword,
    339  \ typescriptAbstract,
    340  \ typescriptEnumKeyword,typescriptEnum,
    341  \ typescriptModule
    342 
    343 syntax keyword typescriptIdentifier            arguments  nextgroup=@afterIdentifier
    344 
    345 "Program Keywords
    346 syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty
    347 syntax keyword typescriptIdentifier this super nextgroup=@afterIdentifier
    348 syntax keyword typescriptPrototype prototype nextgroup=@afterIdentifier
    349 syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
    350 
    351 "Syntax coloring for Node.js shebang line
    352 syntax match   shellbang "^#!.*node\>"
    353 syntax match   shellbang "^#!.*iojs\>"
    354 
    355 
    356 "JavaScript comments
    357 syntax keyword typescriptCommentTodo TODO FIXME XXX TBD
    358 syntax match typescriptMagicComment "@ts-\%(ignore\|expect-error\)\>"
    359 syntax match   typescriptLineComment "//.*"
    360  \ contains=@Spell,typescriptCommentTodo,typescriptRef,typescriptMagicComment
    361 syntax region  typescriptComment
    362  \ start="/\*"  end="\*/"
    363  \ contains=@Spell,typescriptCommentTodo extend
    364 syntax cluster typescriptComments
    365  \ contains=typescriptDocComment,typescriptComment,typescriptLineComment
    366 
    367 syntax match   typescriptRef  +///\s*<reference\s\+.*\/>$+
    368  \ contains=typescriptString
    369 syntax match   typescriptRef  +///\s*<amd-dependency\s\+.*\/>$+
    370  \ contains=typescriptString
    371 syntax match   typescriptRef  +///\s*<amd-module\s\+.*\/>$+
    372  \ contains=typescriptString
    373 
    374 "JSDoc
    375 syntax case ignore
    376 
    377 syntax region  typescriptDocComment            matchgroup=typescriptComment
    378  \ start="/\*\*"  end="\*/"
    379  \ contains=typescriptDocNotation,typescriptCommentTodo,@Spell
    380  \ fold keepend
    381 syntax match   typescriptDocNotation           contained /@/ nextgroup=typescriptDocTags
    382 
    383 syntax keyword typescriptDocTags               contained constant constructor constructs function ignore inner private public readonly static
    384 syntax keyword typescriptDocTags               contained const dict expose inheritDoc interface nosideeffects override protected struct internal
    385 syntax keyword typescriptDocTags               contained example global
    386 syntax keyword typescriptDocTags               contained alpha beta defaultValue eventProperty experimental label
    387 syntax keyword typescriptDocTags               contained packageDocumentation privateRemarks remarks sealed typeParam
    388 
    389 " syntax keyword typescriptDocTags               contained ngdoc nextgroup=typescriptDocNGDirective
    390 syntax keyword typescriptDocTags               contained ngdoc scope priority animations
    391 syntax keyword typescriptDocTags               contained ngdoc restrict methodOf propertyOf eventOf eventType nextgroup=typescriptDocParam skipwhite
    392 syntax keyword typescriptDocNGDirective        contained overview service object function method property event directive filter inputType error
    393 
    394 syntax keyword typescriptDocTags               contained abstract virtual access augments
    395 
    396 syntax keyword typescriptDocTags               contained arguments callback lends memberOf name type kind link mixes mixin tutorial nextgroup=typescriptDocParam skipwhite
    397 syntax keyword typescriptDocTags               contained variation nextgroup=typescriptDocNumParam skipwhite
    398 
    399 syntax keyword typescriptDocTags               contained author class classdesc copyright default defaultvalue nextgroup=typescriptDocDesc skipwhite
    400 syntax keyword typescriptDocTags               contained deprecated description external host nextgroup=typescriptDocDesc skipwhite
    401 syntax keyword typescriptDocTags               contained file fileOverview overview namespace requires since version nextgroup=typescriptDocDesc skipwhite
    402 syntax keyword typescriptDocTags               contained summary todo license preserve nextgroup=typescriptDocDesc skipwhite
    403 
    404 syntax keyword typescriptDocTags               contained borrows exports nextgroup=typescriptDocA skipwhite
    405 syntax keyword typescriptDocTags               contained param arg argument property prop module nextgroup=typescriptDocNamedParamType,typescriptDocParamName skipwhite
    406 syntax keyword typescriptDocTags               contained define enum extends implements this typedef nextgroup=typescriptDocParamType skipwhite
    407 syntax keyword typescriptDocTags               contained return returns throws exception nextgroup=typescriptDocParamType,typescriptDocParamName skipwhite
    408 syntax keyword typescriptDocTags               contained see nextgroup=typescriptDocRef skipwhite
    409 
    410 syntax keyword typescriptDocTags               contained function func method nextgroup=typescriptDocName skipwhite
    411 syntax match   typescriptDocName               contained /\h\w*/
    412 
    413 syntax keyword typescriptDocTags               contained fires event nextgroup=typescriptDocEventRef skipwhite
    414 syntax match   typescriptDocEventRef           contained /\h\w*#\(\h\w*\:\)\?\h\w*/
    415 
    416 syntax match   typescriptDocNamedParamType     contained /{.\+}/ nextgroup=typescriptDocParamName skipwhite
    417 syntax match   typescriptDocParamName          contained /\[\?0-9a-zA-Z_\.]\+\]\?/ nextgroup=typescriptDocDesc skipwhite
    418 syntax match   typescriptDocParamType          contained /{.\+}/ nextgroup=typescriptDocDesc skipwhite
    419 syntax match   typescriptDocA                  contained /\%(#\|\w\|\.\|:\|\/\)\+/ nextgroup=typescriptDocAs skipwhite
    420 syntax match   typescriptDocAs                 contained /\s*as\s*/ nextgroup=typescriptDocB skipwhite
    421 syntax match   typescriptDocB                  contained /\%(#\|\w\|\.\|:\|\/\)\+/
    422 syntax match   typescriptDocParam              contained /\%(#\|\w\|\.\|:\|\/\|-\)\+/
    423 syntax match   typescriptDocNumParam           contained /\d\+/
    424 syntax match   typescriptDocRef                contained /\%(#\|\w\|\.\|:\|\/\)\+/
    425 syntax region  typescriptDocLinkTag            contained matchgroup=typescriptDocLinkTag start=/{/ end=/}/ contains=typescriptDocTags
    426 
    427 syntax cluster typescriptDocs                  contains=typescriptDocParamType,typescriptDocNamedParamType,typescriptDocParam
    428 
    429 if exists("main_syntax") && main_syntax == "typescript"
    430  syntax sync clear
    431  syntax sync ccomment typescriptComment minlines=200
    432 endif
    433 
    434 syntax case match
    435 
    436 " Types
    437 syntax match typescriptOptionalMark /?/ contained
    438 
    439 syntax cluster typescriptTypeParameterCluster contains=
    440  \ typescriptTypeParameter,
    441  \ typescriptGenericDefault
    442 
    443 syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets
    444  \ start=/</ end=/>/
    445  \ contains=@typescriptTypeParameterCluster
    446  \ contained
    447 
    448 syntax match typescriptTypeParameter /\K\k*/
    449  \ nextgroup=typescriptConstraint
    450  \ contained skipwhite skipnl
    451 
    452 syntax keyword typescriptConstraint extends
    453  \ nextgroup=@typescriptType
    454  \ contained skipwhite skipnl
    455 
    456 syntax match typescriptGenericDefault /=/
    457  \ nextgroup=@typescriptType
    458  \ contained skipwhite
    459 
    460 "><
    461 " class A extend B<T> {} // ClassBlock
    462 " func<T>() // FuncCallArg
    463 syntax region typescriptTypeArguments matchgroup=typescriptTypeBrackets
    464  \ start=/\></ end=/>/
    465  \ contains=@typescriptType
    466  \ nextgroup=typescriptFuncCallArg,@typescriptTypeOperator
    467  \ contained skipwhite
    468 
    469 
    470 syntax cluster typescriptType contains=
    471  \ @typescriptPrimaryType,
    472  \ typescriptUnion,
    473  \ @typescriptFunctionType,
    474  \ typescriptConstructorType
    475 
    476 " array type: A[]
    477 " type indexing A['key']
    478 syntax region typescriptTypeBracket contained
    479  \ start=/\[/ end=/\]/
    480  \ contains=typescriptString,typescriptNumber
    481  \ nextgroup=@typescriptTypeOperator
    482  \ skipwhite skipempty
    483 
    484 syntax cluster typescriptPrimaryType contains=
    485  \ typescriptParenthesizedType,
    486  \ typescriptPredefinedType,
    487  \ typescriptTypeReference,
    488  \ typescriptObjectType,
    489  \ typescriptTupleType,
    490  \ typescriptTypeQuery,
    491  \ typescriptStringLiteralType,
    492  \ typescriptTemplateLiteralType,
    493  \ typescriptReadonlyArrayKeyword,
    494  \ typescriptAssertType
    495 
    496 syntax region  typescriptStringLiteralType contained
    497  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1\|$/
    498  \ nextgroup=typescriptUnion
    499  \ skipwhite skipempty
    500 
    501 syntax region  typescriptTemplateLiteralType contained
    502  \ start=/`/  skip=/\\\\\|\\`\|\n/  end=/`\|$/
    503  \ contains=typescriptTemplateSubstitutionType
    504  \ nextgroup=typescriptTypeOperator
    505  \ skipwhite skipempty
    506 
    507 syntax region  typescriptTemplateSubstitutionType matchgroup=typescriptTemplateSB
    508  \ start=/\${/ end=/}/
    509  \ contains=@typescriptType
    510  \ contained
    511 
    512 syntax region typescriptParenthesizedType matchgroup=typescriptParens
    513  \ start=/(/ end=/)/
    514  \ contains=@typescriptType
    515  \ nextgroup=@typescriptTypeOperator
    516  \ contained skipwhite skipempty fold
    517 
    518 syntax match typescriptTypeReference /\K\k*\(\.\K\k*\)*/
    519  \ nextgroup=typescriptTypeArguments,@typescriptTypeOperator,typescriptUserDefinedType
    520  \ skipwhite contained skipempty
    521 
    522 syntax keyword typescriptPredefinedType any number boolean string void never undefined null object unknown
    523  \ nextgroup=@typescriptTypeOperator
    524  \ contained skipwhite skipempty
    525 
    526 syntax match typescriptPredefinedType /unique symbol/
    527  \ nextgroup=@typescriptTypeOperator
    528  \ contained skipwhite skipempty
    529 
    530 syntax region typescriptObjectType matchgroup=typescriptBraces
    531  \ start=/{/ end=/}/
    532  \ contains=@typescriptTypeMember,typescriptEndColons,@typescriptComments,typescriptAccessibilityModifier,typescriptReadonlyModifier
    533  \ nextgroup=@typescriptTypeOperator
    534  \ contained skipwhite skipnl fold
    535 
    536 syntax cluster typescriptTypeMember contains=
    537  \ @typescriptCallSignature,
    538  \ typescriptConstructSignature,
    539  \ typescriptIndexSignature,
    540  \ @typescriptMembers
    541 
    542 syntax match typescriptTupleLable /\K\k*?\?:/
    543    \ contained
    544 
    545 syntax region typescriptTupleType matchgroup=typescriptBraces
    546  \ start=/\[/ end=/\]/
    547  \ contains=@typescriptType,@typescriptComments,typescriptRestOrSpread,typescriptTupleLable
    548  \ contained skipwhite
    549 
    550 syntax cluster typescriptTypeOperator
    551  \ contains=typescriptUnion,typescriptTypeBracket,typescriptConstraint,typescriptConditionalType
    552 
    553 syntax match typescriptUnion /|\|&/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
    554 
    555 syntax match typescriptConditionalType /?\|:/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty
    556 
    557 syntax cluster typescriptFunctionType contains=typescriptGenericFunc,typescriptFuncType
    558 syntax region typescriptGenericFunc matchgroup=typescriptTypeBrackets
    559  \ start=/</ end=/>/
    560  \ contains=typescriptTypeParameter
    561  \ nextgroup=typescriptFuncType
    562  \ containedin=typescriptFunctionType
    563  \ contained skipwhite skipnl
    564 
    565 syntax region typescriptFuncType matchgroup=typescriptParens
    566  \ start=/(\(\k\+:\|)\)\@=/ end=/)\s*=>/me=e-2
    567  \ contains=@typescriptParameterList
    568  \ nextgroup=typescriptFuncTypeArrow
    569  \ contained skipwhite skipnl oneline
    570 
    571 syntax match typescriptFuncTypeArrow /=>/
    572  \ nextgroup=@typescriptType
    573  \ containedin=typescriptFuncType
    574  \ contained skipwhite skipnl
    575 
    576 syntax keyword typescriptConstructorType new
    577  \ nextgroup=@typescriptFunctionType
    578  \ contained skipwhite skipnl
    579 
    580 syntax keyword typescriptUserDefinedType is
    581  \ contained nextgroup=@typescriptType skipwhite skipempty
    582 
    583 syntax keyword typescriptTypeQuery typeof keyof
    584  \ nextgroup=typescriptTypeReference
    585  \ contained skipwhite skipnl
    586 
    587 syntax keyword typescriptAssertType asserts
    588  \ nextgroup=typescriptTypeReference
    589  \ contained skipwhite skipnl
    590 
    591 syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall
    592 syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets
    593  \ start=/</ end=/>/
    594  \ contains=typescriptTypeParameter
    595  \ nextgroup=typescriptCall
    596  \ contained skipwhite skipnl
    597 syntax region typescriptCall matchgroup=typescriptParens
    598  \ start=/(/ end=/)/
    599  \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
    600  \ nextgroup=typescriptTypeAnnotation,typescriptBlock
    601  \ contained skipwhite skipnl
    602 
    603 syntax match typescriptTypeAnnotation /:/
    604  \ nextgroup=@typescriptType
    605  \ contained skipwhite skipnl
    606 
    607 syntax cluster typescriptParameterList contains=
    608  \ typescriptTypeAnnotation,
    609  \ typescriptAccessibilityModifier,
    610  \ typescriptReadonlyModifier,
    611  \ typescriptOptionalMark,
    612  \ typescriptRestOrSpread,
    613  \ typescriptFuncComma,
    614  \ typescriptDefaultParam
    615 
    616 syntax match typescriptFuncComma /,/ contained
    617 
    618 syntax match typescriptDefaultParam /=/
    619  \ nextgroup=@typescriptValue
    620  \ contained skipwhite
    621 
    622 syntax keyword typescriptConstructSignature new
    623  \ nextgroup=@typescriptCallSignature
    624  \ contained skipwhite
    625 
    626 syntax region typescriptIndexSignature matchgroup=typescriptBraces
    627  \ start=/\[/ end=/\]/
    628  \ contains=typescriptPredefinedType,typescriptMappedIn,typescriptString
    629  \ nextgroup=typescriptTypeAnnotation
    630  \ contained skipwhite oneline
    631 
    632 syntax keyword typescriptMappedIn in
    633  \ nextgroup=@typescriptType
    634  \ contained skipwhite skipnl skipempty
    635 
    636 syntax keyword typescriptAliasKeyword type
    637  \ nextgroup=typescriptAliasDeclaration
    638  \ skipwhite skipnl skipempty
    639 
    640 syntax region typescriptAliasDeclaration matchgroup=typescriptUnion
    641  \ start=/ / end=/=/
    642  \ nextgroup=@typescriptType
    643  \ contains=typescriptConstraint,typescriptTypeParameters
    644  \ contained skipwhite skipempty
    645 
    646 syntax keyword typescriptReadonlyArrayKeyword readonly
    647  \ nextgroup=@typescriptPrimaryType
    648  \ skipwhite
    649 
    650 
    651 " extension
    652 if get(g:, 'typescript_host_keyword', 1)
    653  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean nextgroup=typescriptFuncCallArg
    654  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError nextgroup=typescriptFuncCallArg
    655  syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError nextgroup=typescriptFuncCallArg
    656  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError nextgroup=typescriptFuncCallArg
    657  syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration nextgroup=typescriptFuncCallArg
    658  syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError nextgroup=typescriptFuncCallArg
    659  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date nextgroup=typescriptFuncCallArg
    660  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array nextgroup=typescriptFuncCallArg
    661  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array nextgroup=typescriptFuncCallArg
    662  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array nextgroup=typescriptFuncCallArg
    663  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array nextgroup=typescriptFuncCallArg
    664  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array nextgroup=typescriptFuncCallArg
    665  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray nextgroup=typescriptFuncCallArg
    666  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray nextgroup=typescriptFuncCallArg
    667  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView nextgroup=typescriptFuncCallArg
    668  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator nextgroup=typescriptFuncCallArg
    669  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy nextgroup=typescriptFuncCallArg
    670  syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
    671  hi def link typescriptGlobal Structure
    672  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
    673  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg
    674  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg
    675  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg
    676  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg
    677  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg
    678  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg
    679  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg
    680  syntax cluster props add=typescriptGlobalMethod
    681  hi def link typescriptGlobalMethod Structure
    682 
    683  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg
    684  syntax match   typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp
    685  syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE
    686  syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY
    687  syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY
    688  hi def link typescriptNumberStaticProp Keyword
    689  syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg
    690  syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg
    691  hi def link typescriptNumberStaticMethod Keyword
    692  syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg
    693  syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg
    694  syntax cluster props add=typescriptNumberMethod
    695  hi def link typescriptNumberMethod Keyword
    696 
    697  syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg
    698  syntax match   typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp
    699  syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg
    700  hi def link typescriptStringStaticMethod Keyword
    701  syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
    702  syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
    703  syntax keyword typescriptStringMethod contained link localeCompare match matchAll normalize nextgroup=typescriptFuncCallArg
    704  syntax keyword typescriptStringMethod contained padStart padEnd repeat replace replaceAll search nextgroup=typescriptFuncCallArg
    705  syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
    706  syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
    707  syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
    708  syntax keyword typescriptStringMethod contained trimEnd trimStart valueOf nextgroup=typescriptFuncCallArg
    709  syntax cluster props add=typescriptStringMethod
    710  hi def link typescriptStringMethod Keyword
    711 
    712  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg
    713  syntax match   typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp
    714  syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
    715  hi def link typescriptArrayStaticMethod Keyword
    716  syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
    717  syntax keyword typescriptArrayMethod contained filter find findIndex flat flatMap forEach nextgroup=typescriptFuncCallArg
    718  syntax keyword typescriptArrayMethod contained includes indexOf join keys lastIndexOf map nextgroup=typescriptFuncCallArg
    719  syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
    720  syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
    721  syntax keyword typescriptArrayMethod contained toSource toString unshift values nextgroup=typescriptFuncCallArg
    722  syntax cluster props add=typescriptArrayMethod
    723  hi def link typescriptArrayMethod Keyword
    724 
    725  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
    726  syntax match   typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
    727  syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
    728  syntax keyword typescriptObjectStaticMethod contained entries freeze fromEntries getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
    729  syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
    730  syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
    731  syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
    732  syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg
    733  hi def link typescriptObjectStaticMethod Keyword
    734  syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg
    735  syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg
    736  syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg
    737  syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg
    738  syntax cluster props add=typescriptObjectMethod
    739  hi def link typescriptObjectMethod Keyword
    740 
    741  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
    742  syntax match   typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
    743  syntax keyword typescriptSymbolStaticProp contained description length iterator match matchAll replace
    744  syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
    745  syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
    746  syntax keyword typescriptSymbolStaticProp contained toStringTag
    747  hi def link typescriptSymbolStaticProp Keyword
    748  syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg
    749  hi def link typescriptSymbolStaticMethod Keyword
    750 
    751  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function
    752  syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg
    753  syntax cluster props add=typescriptFunctionMethod
    754  hi def link typescriptFunctionMethod Keyword
    755 
    756  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg
    757  syntax match   typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp
    758  syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2
    759  syntax keyword typescriptMathStaticProp contained SQRT2
    760  hi def link typescriptMathStaticProp Keyword
    761  syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg
    762  syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg
    763  syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg
    764  syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg
    765  syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg
    766  syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg
    767  hi def link typescriptMathStaticMethod Keyword
    768 
    769  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg
    770  syntax match   typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp
    771  syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg
    772  hi def link typescriptDateStaticMethod Keyword
    773  syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg
    774  syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg
    775  syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg
    776  syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg
    777  syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg
    778  syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg
    779  syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg
    780  syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg
    781  syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg
    782  syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg
    783  syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg
    784  syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg
    785  syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg
    786  syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg
    787  syntax cluster props add=typescriptDateMethod
    788  hi def link typescriptDateMethod Keyword
    789 
    790  syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg
    791  syntax match   typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp
    792  syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg
    793  hi def link typescriptJSONStaticMethod Keyword
    794 
    795  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg
    796  syntax match   typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
    797  syntax keyword typescriptRegExpStaticProp contained lastIndex
    798  hi def link typescriptRegExpStaticProp Keyword
    799  syntax keyword typescriptRegExpProp contained dotAll global ignoreCase multiline source sticky
    800  syntax cluster props add=typescriptRegExpProp
    801  hi def link typescriptRegExpProp Keyword
    802  syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
    803  syntax cluster props add=typescriptRegExpMethod
    804  hi def link typescriptRegExpMethod Keyword
    805 
    806  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Map WeakMap
    807  syntax keyword typescriptES6MapProp contained size
    808  syntax cluster props add=typescriptES6MapProp
    809  hi def link typescriptES6MapProp Keyword
    810  syntax keyword typescriptES6MapMethod contained clear delete entries forEach get has nextgroup=typescriptFuncCallArg
    811  syntax keyword typescriptES6MapMethod contained keys set values nextgroup=typescriptFuncCallArg
    812  syntax cluster props add=typescriptES6MapMethod
    813  hi def link typescriptES6MapMethod Keyword
    814 
    815  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Set WeakSet
    816  syntax keyword typescriptES6SetProp contained size
    817  syntax cluster props add=typescriptES6SetProp
    818  hi def link typescriptES6SetProp Keyword
    819  syntax keyword typescriptES6SetMethod contained add clear delete entries forEach has nextgroup=typescriptFuncCallArg
    820  syntax keyword typescriptES6SetMethod contained values nextgroup=typescriptFuncCallArg
    821  syntax cluster props add=typescriptES6SetMethod
    822  hi def link typescriptES6SetMethod Keyword
    823 
    824  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Proxy
    825  syntax keyword typescriptProxyAPI contained getOwnPropertyDescriptor getOwnPropertyNames
    826  syntax keyword typescriptProxyAPI contained defineProperty deleteProperty freeze seal
    827  syntax keyword typescriptProxyAPI contained preventExtensions has hasOwn get set enumerate
    828  syntax keyword typescriptProxyAPI contained iterate ownKeys apply construct
    829  hi def link typescriptProxyAPI Keyword
    830 
    831  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
    832  syntax match   typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
    833  syntax keyword typescriptPromiseStaticMethod contained all allSettled any race reject resolve nextgroup=typescriptFuncCallArg
    834  hi def link typescriptPromiseStaticMethod Keyword
    835  syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
    836  syntax cluster props add=typescriptPromiseMethod
    837  hi def link typescriptPromiseMethod Keyword
    838 
    839  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect
    840  syntax keyword typescriptReflectMethod contained apply construct defineProperty deleteProperty nextgroup=typescriptFuncCallArg
    841  syntax keyword typescriptReflectMethod contained enumerate get getOwnPropertyDescriptor nextgroup=typescriptFuncCallArg
    842  syntax keyword typescriptReflectMethod contained getPrototypeOf has isExtensible ownKeys nextgroup=typescriptFuncCallArg
    843  syntax keyword typescriptReflectMethod contained preventExtensions set setPrototypeOf nextgroup=typescriptFuncCallArg
    844  syntax cluster props add=typescriptReflectMethod
    845  hi def link typescriptReflectMethod Keyword
    846 
    847  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Intl
    848  syntax keyword typescriptIntlMethod contained Collator DateTimeFormat NumberFormat nextgroup=typescriptFuncCallArg
    849  syntax keyword typescriptIntlMethod contained PluralRules nextgroup=typescriptFuncCallArg
    850  syntax cluster props add=typescriptIntlMethod
    851  hi def link typescriptIntlMethod Keyword
    852 
    853  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName global process
    854  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName console Buffer
    855  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName module exports
    856  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setTimeout
    857  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearTimeout
    858  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setInterval
    859  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval
    860  hi def link typescriptNodeGlobal Structure
    861 
    862  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName describe
    863  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName it test before
    864  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName after beforeEach
    865  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterEach
    866  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName beforeAll
    867  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterAll
    868  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName expect assert
    869 
    870  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController
    871  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbstractWorker AnalyserNode
    872  syntax keyword typescriptBOM containedin=typescriptIdentifierName App Apps ArrayBuffer
    873  syntax keyword typescriptBOM containedin=typescriptIdentifierName ArrayBufferView
    874  syntax keyword typescriptBOM containedin=typescriptIdentifierName Attr AudioBuffer
    875  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioBufferSourceNode
    876  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioContext AudioDestinationNode
    877  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioListener AudioNode
    878  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioParam BatteryManager
    879  syntax keyword typescriptBOM containedin=typescriptIdentifierName BiquadFilterNode
    880  syntax keyword typescriptBOM containedin=typescriptIdentifierName BlobEvent BluetoothAdapter
    881  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothDevice
    882  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothManager
    883  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraCapabilities
    884  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraControl CameraManager
    885  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasGradient CanvasImageSource
    886  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasPattern CanvasRenderingContext2D
    887  syntax keyword typescriptBOM containedin=typescriptIdentifierName CaretPosition CDATASection
    888  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelMergerNode
    889  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelSplitterNode
    890  syntax keyword typescriptBOM containedin=typescriptIdentifierName CharacterData ChildNode
    891  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChromeWorker Comment
    892  syntax keyword typescriptBOM containedin=typescriptIdentifierName Connection Console
    893  syntax keyword typescriptBOM containedin=typescriptIdentifierName ContactManager Contacts
    894  syntax keyword typescriptBOM containedin=typescriptIdentifierName ConvolverNode Coordinates
    895  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSS CSSConditionRule
    896  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSGroupingRule
    897  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframeRule
    898  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframesRule
    899  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSMediaRule CSSNamespaceRule
    900  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSPageRule CSSRule
    901  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSRuleList CSSStyleDeclaration
    902  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSStyleRule CSSStyleSheet
    903  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSSupportsRule
    904  syntax keyword typescriptBOM containedin=typescriptIdentifierName DataTransfer DataView
    905  syntax keyword typescriptBOM containedin=typescriptIdentifierName DedicatedWorkerGlobalScope
    906  syntax keyword typescriptBOM containedin=typescriptIdentifierName DelayNode DeviceAcceleration
    907  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceRotationRate
    908  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceStorage DirectoryEntry
    909  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryEntrySync
    910  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReader
    911  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReaderSync
    912  syntax keyword typescriptBOM containedin=typescriptIdentifierName Document DocumentFragment
    913  syntax keyword typescriptBOM containedin=typescriptIdentifierName DocumentTouch DocumentType
    914  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMCursor DOMError
    915  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMException DOMHighResTimeStamp
    916  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementation
    917  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementationRegistry
    918  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMParser DOMRequest
    919  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMString DOMStringList
    920  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMStringMap DOMTimeStamp
    921  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMTokenList DynamicsCompressorNode
    922  syntax keyword typescriptBOM containedin=typescriptIdentifierName Element Entry EntrySync
    923  syntax keyword typescriptBOM containedin=typescriptIdentifierName Extensions FileException
    924  syntax keyword typescriptBOM containedin=typescriptIdentifierName Float32Array Float64Array
    925  syntax keyword typescriptBOM containedin=typescriptIdentifierName FMRadio FormData
    926  syntax keyword typescriptBOM containedin=typescriptIdentifierName GainNode Gamepad
    927  syntax keyword typescriptBOM containedin=typescriptIdentifierName GamepadButton Geolocation
    928  syntax keyword typescriptBOM containedin=typescriptIdentifierName History HTMLAnchorElement
    929  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAreaElement
    930  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAudioElement
    931  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBaseElement
    932  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBodyElement
    933  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBRElement HTMLButtonElement
    934  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCanvasElement
    935  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCollection HTMLDataElement
    936  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDataListElement
    937  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDivElement HTMLDListElement
    938  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDocument HTMLElement
    939  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLEmbedElement
    940  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFieldSetElement
    941  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormControlsCollection
    942  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormElement
    943  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadElement
    944  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadingElement
    945  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHRElement HTMLHtmlElement
    946  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLIFrameElement
    947  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLImageElement
    948  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLInputElement
    949  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLKeygenElement
    950  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLabelElement
    951  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLegendElement
    952  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLIElement HTMLLinkElement
    953  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMapElement HTMLMediaElement
    954  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMetaElement
    955  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMeterElement
    956  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLModElement HTMLObjectElement
    957  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOListElement
    958  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptGroupElement
    959  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionElement
    960  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionsCollection
    961  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOutputElement
    962  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParagraphElement
    963  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParamElement
    964  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLPreElement HTMLProgressElement
    965  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLQuoteElement
    966  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLScriptElement
    967  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSelectElement
    968  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSourceElement
    969  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSpanElement
    970  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLStyleElement
    971  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCaptionElement
    972  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCellElement
    973  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableColElement
    974  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableDataCellElement
    975  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableElement
    976  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableHeaderCellElement
    977  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableRowElement
    978  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableSectionElement
    979  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTextAreaElement
    980  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTimeElement
    981  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTitleElement
    982  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTrackElement
    983  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUListElement
    984  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUnknownElement
    985  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLVideoElement
    986  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursor IDBCursorSync
    987  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursorWithValue
    988  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBDatabase IDBDatabaseSync
    989  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBEnvironment IDBEnvironmentSync
    990  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBFactory IDBFactorySync
    991  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBIndex IDBIndexSync
    992  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBKeyRange IDBObjectStore
    993  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBObjectStoreSync
    994  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBOpenDBRequest
    995  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBRequest IDBTransaction
    996  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBTransactionSync
    997  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBVersionChangeEvent
    998  syntax keyword typescriptBOM containedin=typescriptIdentifierName ImageData IndexedDB
    999  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int16Array Int32Array
   1000  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int8Array L10n LinkStyle
   1001  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystem
   1002  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystemSync
   1003  syntax keyword typescriptBOM containedin=typescriptIdentifierName Location LockedFile
   1004  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaQueryList MediaQueryListListener
   1005  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaRecorder MediaSource
   1006  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaStream MediaStreamTrack
   1007  syntax keyword typescriptBOM containedin=typescriptIdentifierName MutationObserver
   1008  syntax keyword typescriptBOM containedin=typescriptIdentifierName Navigator NavigatorGeolocation
   1009  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorID NavigatorLanguage
   1010  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorOnLine
   1011  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorPlugins
   1012  syntax keyword typescriptBOM containedin=typescriptIdentifierName Node NodeFilter
   1013  syntax keyword typescriptBOM containedin=typescriptIdentifierName NodeIterator NodeList
   1014  syntax keyword typescriptBOM containedin=typescriptIdentifierName Notification OfflineAudioContext
   1015  syntax keyword typescriptBOM containedin=typescriptIdentifierName OscillatorNode PannerNode
   1016  syntax keyword typescriptBOM containedin=typescriptIdentifierName ParentNode Performance
   1017  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceNavigation
   1018  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceTiming
   1019  syntax keyword typescriptBOM containedin=typescriptIdentifierName Permissions PermissionSettings
   1020  syntax keyword typescriptBOM containedin=typescriptIdentifierName Plugin PluginArray
   1021  syntax keyword typescriptBOM containedin=typescriptIdentifierName Position PositionError
   1022  syntax keyword typescriptBOM containedin=typescriptIdentifierName PositionOptions
   1023  syntax keyword typescriptBOM containedin=typescriptIdentifierName PowerManager ProcessingInstruction
   1024  syntax keyword typescriptBOM containedin=typescriptIdentifierName PromiseResolver
   1025  syntax keyword typescriptBOM containedin=typescriptIdentifierName PushManager Range
   1026  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCConfiguration
   1027  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnection
   1028  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnectionErrorCallback
   1029  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescription
   1030  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescriptionCallback
   1031  syntax keyword typescriptBOM containedin=typescriptIdentifierName ScriptProcessorNode
   1032  syntax keyword typescriptBOM containedin=typescriptIdentifierName Selection SettingsLock
   1033  syntax keyword typescriptBOM containedin=typescriptIdentifierName SettingsManager
   1034  syntax keyword typescriptBOM containedin=typescriptIdentifierName SharedWorker StyleSheet
   1035  syntax keyword typescriptBOM containedin=typescriptIdentifierName StyleSheetList SVGAElement
   1036  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAngle SVGAnimateColorElement
   1037  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedAngle
   1038  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedBoolean
   1039  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedEnumeration
   1040  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedInteger
   1041  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLength
   1042  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLengthList
   1043  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumber
   1044  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumberList
   1045  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPoints
   1046  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPreserveAspectRatio
   1047  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedRect
   1048  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedString
   1049  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedTransformList
   1050  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateElement
   1051  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateMotionElement
   1052  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateTransformElement
   1053  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimationElement
   1054  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCircleElement
   1055  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGClipPathElement
   1056  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCursorElement
   1057  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGDefsElement SVGDescElement
   1058  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGElement SVGEllipseElement
   1059  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFilterElement
   1060  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontElement SVGFontFaceElement
   1061  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceFormatElement
   1062  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceNameElement
   1063  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceSrcElement
   1064  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceUriElement
   1065  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGForeignObjectElement
   1066  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGElement SVGGlyphElement
   1067  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGradientElement
   1068  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGHKernElement
   1069  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGImageElement
   1070  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLength SVGLengthList
   1071  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLinearGradientElement
   1072  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLineElement SVGMaskElement
   1073  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMatrix SVGMissingGlyphElement
   1074  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMPathElement
   1075  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGNumber SVGNumberList
   1076  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPathElement SVGPatternElement
   1077  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPoint SVGPolygonElement
   1078  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPolylineElement
   1079  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPreserveAspectRatio
   1080  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRadialGradientElement
   1081  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRect SVGRectElement
   1082  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGScriptElement
   1083  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSetElement SVGStopElement
   1084  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStringList SVGStylable
   1085  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStyleElement
   1086  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSVGElement SVGSwitchElement
   1087  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSymbolElement
   1088  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTests SVGTextElement
   1089  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTextPositioningElement
   1090  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTitleElement
   1091  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransform SVGTransformable
   1092  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransformList
   1093  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTRefElement SVGTSpanElement
   1094  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGUseElement SVGViewElement
   1095  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGVKernElement
   1096  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPServerSocket
   1097  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPSocket Telephony
   1098  syntax keyword typescriptBOM containedin=typescriptIdentifierName TelephonyCall Text
   1099  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextDecoder TextEncoder
   1100  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextMetrics TimeRanges
   1101  syntax keyword typescriptBOM containedin=typescriptIdentifierName Touch TouchList
   1102  syntax keyword typescriptBOM containedin=typescriptIdentifierName Transferable TreeWalker
   1103  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint16Array Uint32Array
   1104  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint8Array Uint8ClampedArray
   1105  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLSearchParams
   1106  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLUtilsReadOnly
   1107  syntax keyword typescriptBOM containedin=typescriptIdentifierName UserProximityEvent
   1108  syntax keyword typescriptBOM containedin=typescriptIdentifierName ValidityState VideoPlaybackQuality
   1109  syntax keyword typescriptBOM containedin=typescriptIdentifierName WaveShaperNode WebBluetooth
   1110  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebGLRenderingContext
   1111  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebSMS WebSocket
   1112  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebVTT WifiManager
   1113  syntax keyword typescriptBOM containedin=typescriptIdentifierName Window Worker WorkerConsole
   1114  syntax keyword typescriptBOM containedin=typescriptIdentifierName WorkerLocation WorkerNavigator
   1115  syntax keyword typescriptBOM containedin=typescriptIdentifierName XDomainRequest XMLDocument
   1116  syntax keyword typescriptBOM containedin=typescriptIdentifierName XMLHttpRequestEventTarget
   1117  hi def link typescriptBOM Structure
   1118 
   1119  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName applicationCache
   1120  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName closed
   1121  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName Components
   1122  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName controllers
   1123  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName dialogArguments
   1124  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName document
   1125  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frameElement
   1126  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frames
   1127  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName fullScreen
   1128  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName history
   1129  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerHeight
   1130  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerWidth
   1131  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName length
   1132  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName location
   1133  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName locationbar
   1134  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName menubar
   1135  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName messageManager
   1136  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName name navigator
   1137  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName opener
   1138  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerHeight
   1139  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerWidth
   1140  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageXOffset
   1141  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageYOffset
   1142  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName parent
   1143  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName performance
   1144  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName personalbar
   1145  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName returnValue
   1146  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screen
   1147  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenX
   1148  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenY
   1149  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollbars
   1150  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxX
   1151  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxY
   1152  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollX
   1153  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollY
   1154  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName self sidebar
   1155  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName status
   1156  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName statusbar
   1157  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName toolbar
   1158  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName top visualViewport
   1159  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName window
   1160  syntax cluster props add=typescriptBOMWindowProp
   1161  hi def link typescriptBOMWindowProp Structure
   1162  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName alert nextgroup=typescriptFuncCallArg
   1163  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName atob nextgroup=typescriptFuncCallArg
   1164  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName blur nextgroup=typescriptFuncCallArg
   1165  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName btoa nextgroup=typescriptFuncCallArg
   1166  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearImmediate nextgroup=typescriptFuncCallArg
   1167  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearInterval nextgroup=typescriptFuncCallArg
   1168  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearTimeout nextgroup=typescriptFuncCallArg
   1169  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName close nextgroup=typescriptFuncCallArg
   1170  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName confirm nextgroup=typescriptFuncCallArg
   1171  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName dispatchEvent nextgroup=typescriptFuncCallArg
   1172  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName find nextgroup=typescriptFuncCallArg
   1173  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName focus nextgroup=typescriptFuncCallArg
   1174  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttention nextgroup=typescriptFuncCallArg
   1175  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttentionWithCycleCount nextgroup=typescriptFuncCallArg
   1176  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getComputedStyle nextgroup=typescriptFuncCallArg
   1177  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getDefaulComputedStyle nextgroup=typescriptFuncCallArg
   1178  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getSelection nextgroup=typescriptFuncCallArg
   1179  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName matchMedia nextgroup=typescriptFuncCallArg
   1180  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName maximize nextgroup=typescriptFuncCallArg
   1181  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveBy nextgroup=typescriptFuncCallArg
   1182  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveTo nextgroup=typescriptFuncCallArg
   1183  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName open nextgroup=typescriptFuncCallArg
   1184  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName openDialog nextgroup=typescriptFuncCallArg
   1185  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName postMessage nextgroup=typescriptFuncCallArg
   1186  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName print nextgroup=typescriptFuncCallArg
   1187  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName prompt nextgroup=typescriptFuncCallArg
   1188  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName removeEventListener nextgroup=typescriptFuncCallArg
   1189  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeBy nextgroup=typescriptFuncCallArg
   1190  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeTo nextgroup=typescriptFuncCallArg
   1191  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName restore nextgroup=typescriptFuncCallArg
   1192  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scroll nextgroup=typescriptFuncCallArg
   1193  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollBy nextgroup=typescriptFuncCallArg
   1194  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByLines nextgroup=typescriptFuncCallArg
   1195  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByPages nextgroup=typescriptFuncCallArg
   1196  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollTo nextgroup=typescriptFuncCallArg
   1197  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setCursor nextgroup=typescriptFuncCallArg
   1198  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setImmediate nextgroup=typescriptFuncCallArg
   1199  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setInterval nextgroup=typescriptFuncCallArg
   1200  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setResizable nextgroup=typescriptFuncCallArg
   1201  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setTimeout nextgroup=typescriptFuncCallArg
   1202  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName showModalDialog nextgroup=typescriptFuncCallArg
   1203  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName sizeToContent nextgroup=typescriptFuncCallArg
   1204  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName stop nextgroup=typescriptFuncCallArg
   1205  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName updateCommands nextgroup=typescriptFuncCallArg
   1206  syntax cluster props add=typescriptBOMWindowMethod
   1207  hi def link typescriptBOMWindowMethod Structure
   1208  syntax keyword typescriptBOMWindowEvent contained onabort onbeforeunload onblur onchange
   1209  syntax keyword typescriptBOMWindowEvent contained onclick onclose oncontextmenu ondevicelight
   1210  syntax keyword typescriptBOMWindowEvent contained ondevicemotion ondeviceorientation
   1211  syntax keyword typescriptBOMWindowEvent contained ondeviceproximity ondragdrop onerror
   1212  syntax keyword typescriptBOMWindowEvent contained onfocus onhashchange onkeydown onkeypress
   1213  syntax keyword typescriptBOMWindowEvent contained onkeyup onload onmousedown onmousemove
   1214  syntax keyword typescriptBOMWindowEvent contained onmouseout onmouseover onmouseup
   1215  syntax keyword typescriptBOMWindowEvent contained onmozbeforepaint onpaint onpopstate
   1216  syntax keyword typescriptBOMWindowEvent contained onreset onresize onscroll onselect
   1217  syntax keyword typescriptBOMWindowEvent contained onsubmit onunload onuserproximity
   1218  syntax keyword typescriptBOMWindowEvent contained onpageshow onpagehide
   1219  hi def link typescriptBOMWindowEvent Keyword
   1220  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName DOMParser
   1221  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName QueryInterface
   1222  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName XMLSerializer
   1223  hi def link typescriptBOMWindowCons Structure
   1224 
   1225  syntax keyword typescriptBOMNavigatorProp contained battery buildID connection cookieEnabled
   1226  syntax keyword typescriptBOMNavigatorProp contained doNotTrack maxTouchPoints oscpu
   1227  syntax keyword typescriptBOMNavigatorProp contained productSub push serviceWorker
   1228  syntax keyword typescriptBOMNavigatorProp contained vendor vendorSub
   1229  syntax cluster props add=typescriptBOMNavigatorProp
   1230  hi def link typescriptBOMNavigatorProp Keyword
   1231  syntax keyword typescriptBOMNavigatorMethod contained addIdleObserver geolocation nextgroup=typescriptFuncCallArg
   1232  syntax keyword typescriptBOMNavigatorMethod contained getDeviceStorage getDeviceStorages nextgroup=typescriptFuncCallArg
   1233  syntax keyword typescriptBOMNavigatorMethod contained getGamepads getUserMedia registerContentHandler nextgroup=typescriptFuncCallArg
   1234  syntax keyword typescriptBOMNavigatorMethod contained removeIdleObserver requestWakeLock nextgroup=typescriptFuncCallArg
   1235  syntax keyword typescriptBOMNavigatorMethod contained share vibrate watch registerProtocolHandler nextgroup=typescriptFuncCallArg
   1236  syntax keyword typescriptBOMNavigatorMethod contained sendBeacon nextgroup=typescriptFuncCallArg
   1237  syntax cluster props add=typescriptBOMNavigatorMethod
   1238  hi def link typescriptBOMNavigatorMethod Keyword
   1239  syntax keyword typescriptServiceWorkerMethod contained register nextgroup=typescriptFuncCallArg
   1240  syntax cluster props add=typescriptServiceWorkerMethod
   1241  hi def link typescriptServiceWorkerMethod Keyword
   1242 
   1243  syntax keyword typescriptBOMLocationProp contained href protocol host hostname port
   1244  syntax keyword typescriptBOMLocationProp contained pathname search hash username password
   1245  syntax keyword typescriptBOMLocationProp contained origin
   1246  syntax cluster props add=typescriptBOMLocationProp
   1247  hi def link typescriptBOMLocationProp Keyword
   1248  syntax keyword typescriptBOMLocationMethod contained assign reload replace toString nextgroup=typescriptFuncCallArg
   1249  syntax cluster props add=typescriptBOMLocationMethod
   1250  hi def link typescriptBOMLocationMethod Keyword
   1251 
   1252  syntax keyword typescriptBOMHistoryProp contained length current next previous state
   1253  syntax keyword typescriptBOMHistoryProp contained scrollRestoration
   1254  syntax cluster props add=typescriptBOMHistoryProp
   1255  hi def link typescriptBOMHistoryProp Keyword
   1256  syntax keyword typescriptBOMHistoryMethod contained back forward go pushState replaceState nextgroup=typescriptFuncCallArg
   1257  syntax cluster props add=typescriptBOMHistoryMethod
   1258  hi def link typescriptBOMHistoryMethod Keyword
   1259 
   1260  syntax keyword typescriptGlobal containedin=typescriptIdentifierName console nextgroup=typescriptGlobalConsoleDot
   1261  syntax match   typescriptGlobalConsoleDot /\./ contained nextgroup=typescriptConsoleMethod,typescriptProp
   1262  syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
   1263  syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
   1264  syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
   1265  syntax cluster props add=typescriptConsoleMethod
   1266  hi def link typescriptConsoleMethod Keyword
   1267 
   1268  syntax keyword typescriptXHRGlobal containedin=typescriptIdentifierName XMLHttpRequest
   1269  hi def link typescriptXHRGlobal Structure
   1270  syntax keyword typescriptXHRProp contained onreadystatechange readyState response
   1271  syntax keyword typescriptXHRProp contained responseText responseType responseXML status
   1272  syntax keyword typescriptXHRProp contained statusText timeout ontimeout upload withCredentials
   1273  syntax cluster props add=typescriptXHRProp
   1274  hi def link typescriptXHRProp Keyword
   1275  syntax keyword typescriptXHRMethod contained abort getAllResponseHeaders getResponseHeader nextgroup=typescriptFuncCallArg
   1276  syntax keyword typescriptXHRMethod contained open overrideMimeType send setRequestHeader nextgroup=typescriptFuncCallArg
   1277  syntax cluster props add=typescriptXHRMethod
   1278  hi def link typescriptXHRMethod Keyword
   1279 
   1280  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Blob BlobBuilder
   1281  syntax keyword typescriptGlobal containedin=typescriptIdentifierName File FileReader
   1282  syntax keyword typescriptGlobal containedin=typescriptIdentifierName FileReaderSync
   1283  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URL nextgroup=typescriptGlobalURLDot,typescriptFuncCallArg
   1284  syntax match   typescriptGlobalURLDot /\./ contained nextgroup=typescriptURLStaticMethod,typescriptProp
   1285  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URLUtils
   1286  syntax keyword typescriptFileMethod contained readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
   1287  syntax keyword typescriptFileMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
   1288  syntax cluster props add=typescriptFileMethod
   1289  hi def link typescriptFileMethod Keyword
   1290  syntax keyword typescriptFileReaderProp contained error readyState result
   1291  syntax cluster props add=typescriptFileReaderProp
   1292  hi def link typescriptFileReaderProp Keyword
   1293  syntax keyword typescriptFileReaderMethod contained abort readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
   1294  syntax keyword typescriptFileReaderMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
   1295  syntax cluster props add=typescriptFileReaderMethod
   1296  hi def link typescriptFileReaderMethod Keyword
   1297  syntax keyword typescriptFileListMethod contained item nextgroup=typescriptFuncCallArg
   1298  syntax cluster props add=typescriptFileListMethod
   1299  hi def link typescriptFileListMethod Keyword
   1300  syntax keyword typescriptBlobMethod contained append getBlob getFile nextgroup=typescriptFuncCallArg
   1301  syntax cluster props add=typescriptBlobMethod
   1302  hi def link typescriptBlobMethod Keyword
   1303  syntax keyword typescriptURLUtilsProp contained hash host hostname href origin password
   1304  syntax keyword typescriptURLUtilsProp contained pathname port protocol search searchParams
   1305  syntax keyword typescriptURLUtilsProp contained username
   1306  syntax cluster props add=typescriptURLUtilsProp
   1307  hi def link typescriptURLUtilsProp Keyword
   1308  syntax keyword typescriptURLStaticMethod contained createObjectURL revokeObjectURL nextgroup=typescriptFuncCallArg
   1309  hi def link typescriptURLStaticMethod Keyword
   1310 
   1311  syntax keyword typescriptCryptoGlobal containedin=typescriptIdentifierName crypto
   1312  hi def link typescriptCryptoGlobal Structure
   1313  syntax keyword typescriptSubtleCryptoMethod contained encrypt decrypt sign verify nextgroup=typescriptFuncCallArg
   1314  syntax keyword typescriptSubtleCryptoMethod contained digest nextgroup=typescriptFuncCallArg
   1315  syntax cluster props add=typescriptSubtleCryptoMethod
   1316  hi def link typescriptSubtleCryptoMethod Keyword
   1317  syntax keyword typescriptCryptoProp contained subtle
   1318  syntax cluster props add=typescriptCryptoProp
   1319  hi def link typescriptCryptoProp Keyword
   1320  syntax keyword typescriptCryptoMethod contained getRandomValues nextgroup=typescriptFuncCallArg
   1321  syntax cluster props add=typescriptCryptoMethod
   1322  hi def link typescriptCryptoMethod Keyword
   1323 
   1324  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Headers Request
   1325  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Response
   1326  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName fetch nextgroup=typescriptFuncCallArg
   1327  syntax cluster props add=typescriptGlobalMethod
   1328  hi def link typescriptGlobalMethod Structure
   1329  syntax keyword typescriptHeadersMethod contained append delete get getAll has set nextgroup=typescriptFuncCallArg
   1330  syntax cluster props add=typescriptHeadersMethod
   1331  hi def link typescriptHeadersMethod Keyword
   1332  syntax keyword typescriptRequestProp contained method url headers context referrer
   1333  syntax keyword typescriptRequestProp contained mode credentials cache
   1334  syntax cluster props add=typescriptRequestProp
   1335  hi def link typescriptRequestProp Keyword
   1336  syntax keyword typescriptRequestMethod contained clone nextgroup=typescriptFuncCallArg
   1337  syntax cluster props add=typescriptRequestMethod
   1338  hi def link typescriptRequestMethod Keyword
   1339  syntax keyword typescriptResponseProp contained type url status statusText headers
   1340  syntax keyword typescriptResponseProp contained redirected
   1341  syntax cluster props add=typescriptResponseProp
   1342  hi def link typescriptResponseProp Keyword
   1343  syntax keyword typescriptResponseMethod contained clone nextgroup=typescriptFuncCallArg
   1344  syntax cluster props add=typescriptResponseMethod
   1345  hi def link typescriptResponseMethod Keyword
   1346 
   1347  syntax keyword typescriptServiceWorkerProp contained controller ready
   1348  syntax cluster props add=typescriptServiceWorkerProp
   1349  hi def link typescriptServiceWorkerProp Keyword
   1350  syntax keyword typescriptServiceWorkerMethod contained register getRegistration nextgroup=typescriptFuncCallArg
   1351  syntax cluster props add=typescriptServiceWorkerMethod
   1352  hi def link typescriptServiceWorkerMethod Keyword
   1353  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Cache
   1354  syntax keyword typescriptCacheMethod contained match matchAll add addAll put delete nextgroup=typescriptFuncCallArg
   1355  syntax keyword typescriptCacheMethod contained keys nextgroup=typescriptFuncCallArg
   1356  syntax cluster props add=typescriptCacheMethod
   1357  hi def link typescriptCacheMethod Keyword
   1358 
   1359  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextEncoder
   1360  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextDecoder
   1361  hi def link typescriptEncodingGlobal Structure
   1362  syntax keyword typescriptEncodingProp contained encoding fatal ignoreBOM
   1363  syntax cluster props add=typescriptEncodingProp
   1364  hi def link typescriptEncodingProp Keyword
   1365  syntax keyword typescriptEncodingMethod contained encode decode nextgroup=typescriptFuncCallArg
   1366  syntax cluster props add=typescriptEncodingMethod
   1367  hi def link typescriptEncodingMethod Keyword
   1368 
   1369  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Geolocation
   1370  syntax keyword typescriptGeolocationMethod contained getCurrentPosition watchPosition nextgroup=typescriptFuncCallArg
   1371  syntax keyword typescriptGeolocationMethod contained clearWatch nextgroup=typescriptFuncCallArg
   1372  syntax cluster props add=typescriptGeolocationMethod
   1373  hi def link typescriptGeolocationMethod Keyword
   1374 
   1375  syntax keyword typescriptGlobal containedin=typescriptIdentifierName NetworkInformation
   1376  syntax keyword typescriptBOMNetworkProp contained downlink downlinkMax effectiveType
   1377  syntax keyword typescriptBOMNetworkProp contained rtt type
   1378  syntax cluster props add=typescriptBOMNetworkProp
   1379  hi def link typescriptBOMNetworkProp Keyword
   1380 
   1381  syntax keyword typescriptGlobal containedin=typescriptIdentifierName PaymentRequest
   1382  syntax keyword typescriptPaymentMethod contained show abort canMakePayment nextgroup=typescriptFuncCallArg
   1383  syntax cluster props add=typescriptPaymentMethod
   1384  hi def link typescriptPaymentMethod Keyword
   1385  syntax keyword typescriptPaymentProp contained shippingAddress shippingOption result
   1386  syntax cluster props add=typescriptPaymentProp
   1387  hi def link typescriptPaymentProp Keyword
   1388  syntax keyword typescriptPaymentEvent contained onshippingaddresschange onshippingoptionchange
   1389  hi def link typescriptPaymentEvent Keyword
   1390  syntax keyword typescriptPaymentResponseMethod contained complete nextgroup=typescriptFuncCallArg
   1391  syntax cluster props add=typescriptPaymentResponseMethod
   1392  hi def link typescriptPaymentResponseMethod Keyword
   1393  syntax keyword typescriptPaymentResponseProp contained details methodName payerEmail
   1394  syntax keyword typescriptPaymentResponseProp contained payerPhone shippingAddress
   1395  syntax keyword typescriptPaymentResponseProp contained shippingOption
   1396  syntax cluster props add=typescriptPaymentResponseProp
   1397  hi def link typescriptPaymentResponseProp Keyword
   1398  syntax keyword typescriptPaymentAddressProp contained addressLine careOf city country
   1399  syntax keyword typescriptPaymentAddressProp contained country dependentLocality languageCode
   1400  syntax keyword typescriptPaymentAddressProp contained organization phone postalCode
   1401  syntax keyword typescriptPaymentAddressProp contained recipient region sortingCode
   1402  syntax cluster props add=typescriptPaymentAddressProp
   1403  hi def link typescriptPaymentAddressProp Keyword
   1404  syntax keyword typescriptPaymentShippingOptionProp contained id label amount selected
   1405  syntax cluster props add=typescriptPaymentShippingOptionProp
   1406  hi def link typescriptPaymentShippingOptionProp Keyword
   1407 
   1408  syntax keyword typescriptDOMNodeProp contained attributes baseURI baseURIObject childNodes
   1409  syntax keyword typescriptDOMNodeProp contained firstChild lastChild localName namespaceURI
   1410  syntax keyword typescriptDOMNodeProp contained nextSibling nodeName nodePrincipal
   1411  syntax keyword typescriptDOMNodeProp contained nodeType nodeValue ownerDocument parentElement
   1412  syntax keyword typescriptDOMNodeProp contained parentNode prefix previousSibling textContent
   1413  syntax cluster props add=typescriptDOMNodeProp
   1414  hi def link typescriptDOMNodeProp Keyword
   1415  syntax keyword typescriptDOMNodeMethod contained appendChild cloneNode compareDocumentPosition nextgroup=typescriptFuncCallArg
   1416  syntax keyword typescriptDOMNodeMethod contained getUserData hasAttributes hasChildNodes nextgroup=typescriptFuncCallArg
   1417  syntax keyword typescriptDOMNodeMethod contained insertBefore isDefaultNamespace isEqualNode nextgroup=typescriptFuncCallArg
   1418  syntax keyword typescriptDOMNodeMethod contained isSameNode isSupported lookupNamespaceURI nextgroup=typescriptFuncCallArg
   1419  syntax keyword typescriptDOMNodeMethod contained lookupPrefix normalize removeChild nextgroup=typescriptFuncCallArg
   1420  syntax keyword typescriptDOMNodeMethod contained replaceChild setUserData nextgroup=typescriptFuncCallArg
   1421  syntax match typescriptDOMNodeMethod contained /contains/
   1422  syntax cluster props add=typescriptDOMNodeMethod
   1423  hi def link typescriptDOMNodeMethod Keyword
   1424  syntax keyword typescriptDOMNodeType contained ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
   1425  syntax keyword typescriptDOMNodeType contained CDATA_SECTION_NODEN_NODE ENTITY_REFERENCE_NODE
   1426  syntax keyword typescriptDOMNodeType contained ENTITY_NODE PROCESSING_INSTRUCTION_NODEN_NODE
   1427  syntax keyword typescriptDOMNodeType contained COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
   1428  syntax keyword typescriptDOMNodeType contained DOCUMENT_FRAGMENT_NODE NOTATION_NODE
   1429  hi def link typescriptDOMNodeType Keyword
   1430 
   1431  syntax keyword typescriptDOMElemAttrs contained accessKey clientHeight clientLeft
   1432  syntax keyword typescriptDOMElemAttrs contained clientTop clientWidth id innerHTML
   1433  syntax keyword typescriptDOMElemAttrs contained length onafterscriptexecute onbeforescriptexecute
   1434  syntax keyword typescriptDOMElemAttrs contained oncopy oncut onpaste onwheel scrollHeight
   1435  syntax keyword typescriptDOMElemAttrs contained scrollLeft scrollTop scrollWidth tagName
   1436  syntax keyword typescriptDOMElemAttrs contained classList className name outerHTML
   1437  syntax keyword typescriptDOMElemAttrs contained style
   1438  hi def link typescriptDOMElemAttrs Keyword
   1439  syntax keyword typescriptDOMElemFuncs contained getAttributeNS getAttributeNode getAttributeNodeNS
   1440  syntax keyword typescriptDOMElemFuncs contained getBoundingClientRect getClientRects
   1441  syntax keyword typescriptDOMElemFuncs contained getElementsByClassName getElementsByTagName
   1442  syntax keyword typescriptDOMElemFuncs contained getElementsByTagNameNS hasAttribute
   1443  syntax keyword typescriptDOMElemFuncs contained hasAttributeNS insertAdjacentHTML
   1444  syntax keyword typescriptDOMElemFuncs contained matches querySelector querySelectorAll
   1445  syntax keyword typescriptDOMElemFuncs contained removeAttribute removeAttributeNS
   1446  syntax keyword typescriptDOMElemFuncs contained removeAttributeNode requestFullscreen
   1447  syntax keyword typescriptDOMElemFuncs contained requestPointerLock scrollIntoView
   1448  syntax keyword typescriptDOMElemFuncs contained setAttribute setAttributeNS setAttributeNode
   1449  syntax keyword typescriptDOMElemFuncs contained setAttributeNodeNS setCapture supports
   1450  syntax keyword typescriptDOMElemFuncs contained getAttribute
   1451  hi def link typescriptDOMElemFuncs Keyword
   1452 
   1453  syntax keyword typescriptDOMDocProp contained activeElement body cookie defaultView
   1454  syntax keyword typescriptDOMDocProp contained designMode dir domain embeds forms head
   1455  syntax keyword typescriptDOMDocProp contained images lastModified links location plugins
   1456  syntax keyword typescriptDOMDocProp contained postMessage readyState referrer registerElement
   1457  syntax keyword typescriptDOMDocProp contained scripts styleSheets title vlinkColor
   1458  syntax keyword typescriptDOMDocProp contained xmlEncoding characterSet compatMode
   1459  syntax keyword typescriptDOMDocProp contained contentType currentScript doctype documentElement
   1460  syntax keyword typescriptDOMDocProp contained documentURI documentURIObject firstChild
   1461  syntax keyword typescriptDOMDocProp contained implementation lastStyleSheetSet namespaceURI
   1462  syntax keyword typescriptDOMDocProp contained nodePrincipal ononline pointerLockElement
   1463  syntax keyword typescriptDOMDocProp contained popupNode preferredStyleSheetSet selectedStyleSheetSet
   1464  syntax keyword typescriptDOMDocProp contained styleSheetSets textContent tooltipNode
   1465  syntax cluster props add=typescriptDOMDocProp
   1466  hi def link typescriptDOMDocProp Keyword
   1467  syntax keyword typescriptDOMDocMethod contained caretPositionFromPoint close createNodeIterator nextgroup=typescriptFuncCallArg
   1468  syntax keyword typescriptDOMDocMethod contained createRange createTreeWalker elementFromPoint nextgroup=typescriptFuncCallArg
   1469  syntax keyword typescriptDOMDocMethod contained getElementsByName adoptNode createAttribute nextgroup=typescriptFuncCallArg
   1470  syntax keyword typescriptDOMDocMethod contained createCDATASection createComment createDocumentFragment nextgroup=typescriptFuncCallArg
   1471  syntax keyword typescriptDOMDocMethod contained createElement createElementNS createEvent nextgroup=typescriptFuncCallArg
   1472  syntax keyword typescriptDOMDocMethod contained createExpression createNSResolver nextgroup=typescriptFuncCallArg
   1473  syntax keyword typescriptDOMDocMethod contained createProcessingInstruction createTextNode nextgroup=typescriptFuncCallArg
   1474  syntax keyword typescriptDOMDocMethod contained enableStyleSheetsForSet evaluate execCommand nextgroup=typescriptFuncCallArg
   1475  syntax keyword typescriptDOMDocMethod contained exitPointerLock getBoxObjectFor getElementById nextgroup=typescriptFuncCallArg
   1476  syntax keyword typescriptDOMDocMethod contained getElementsByClassName getElementsByTagName nextgroup=typescriptFuncCallArg
   1477  syntax keyword typescriptDOMDocMethod contained getElementsByTagNameNS getSelection nextgroup=typescriptFuncCallArg
   1478  syntax keyword typescriptDOMDocMethod contained hasFocus importNode loadOverlay open nextgroup=typescriptFuncCallArg
   1479  syntax keyword typescriptDOMDocMethod contained queryCommandSupported querySelector nextgroup=typescriptFuncCallArg
   1480  syntax keyword typescriptDOMDocMethod contained querySelectorAll write writeln nextgroup=typescriptFuncCallArg
   1481  syntax cluster props add=typescriptDOMDocMethod
   1482  hi def link typescriptDOMDocMethod Keyword
   1483 
   1484  syntax keyword typescriptDOMEventTargetMethod contained addEventListener removeEventListener nextgroup=typescriptEventFuncCallArg
   1485  syntax keyword typescriptDOMEventTargetMethod contained dispatchEvent waitUntil nextgroup=typescriptEventFuncCallArg
   1486  syntax cluster props add=typescriptDOMEventTargetMethod
   1487  hi def link typescriptDOMEventTargetMethod Keyword
   1488  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AnimationEvent
   1489  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AudioProcessingEvent
   1490  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeInputEvent
   1491  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeUnloadEvent
   1492  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BlobEvent
   1493  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ClipboardEvent
   1494  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CloseEvent
   1495  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CompositionEvent
   1496  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CSSFontFaceLoadEvent
   1497  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CustomEvent
   1498  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceLightEvent
   1499  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceMotionEvent
   1500  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceOrientationEvent
   1501  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceProximityEvent
   1502  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DOMTransactionEvent
   1503  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DragEvent
   1504  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName EditingBeforeInputEvent
   1505  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ErrorEvent
   1506  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName FocusEvent
   1507  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName GamepadEvent
   1508  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName HashChangeEvent
   1509  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName IDBVersionChangeEvent
   1510  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName KeyboardEvent
   1511  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MediaStreamEvent
   1512  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MessageEvent
   1513  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MouseEvent
   1514  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MutationEvent
   1515  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName OfflineAudioCompletionEvent
   1516  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PageTransitionEvent
   1517  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PointerEvent
   1518  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PopStateEvent
   1519  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ProgressEvent
   1520  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RelatedEvent
   1521  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RTCPeerConnectionIceEvent
   1522  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SensorEvent
   1523  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName StorageEvent
   1524  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGEvent
   1525  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGZoomEvent
   1526  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TimeEvent
   1527  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TouchEvent
   1528  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TrackEvent
   1529  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TransitionEvent
   1530  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UIEvent
   1531  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UserProximityEvent
   1532  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName WheelEvent
   1533  hi def link typescriptDOMEventCons Structure
   1534  syntax keyword typescriptDOMEventProp contained bubbles cancelable currentTarget defaultPrevented
   1535  syntax keyword typescriptDOMEventProp contained eventPhase target timeStamp type isTrusted
   1536  syntax keyword typescriptDOMEventProp contained isReload
   1537  syntax cluster props add=typescriptDOMEventProp
   1538  hi def link typescriptDOMEventProp Keyword
   1539  syntax keyword typescriptDOMEventMethod contained initEvent preventDefault stopImmediatePropagation nextgroup=typescriptEventFuncCallArg
   1540  syntax keyword typescriptDOMEventMethod contained stopPropagation respondWith default nextgroup=typescriptEventFuncCallArg
   1541  syntax cluster props add=typescriptDOMEventMethod
   1542  hi def link typescriptDOMEventMethod Keyword
   1543 
   1544  syntax keyword typescriptDOMStorage contained sessionStorage localStorage
   1545  hi def link typescriptDOMStorage Keyword
   1546  syntax keyword typescriptDOMStorageProp contained length
   1547  syntax cluster props add=typescriptDOMStorageProp
   1548  hi def link typescriptDOMStorageProp Keyword
   1549  syntax keyword typescriptDOMStorageMethod contained getItem key setItem removeItem nextgroup=typescriptFuncCallArg
   1550  syntax keyword typescriptDOMStorageMethod contained clear nextgroup=typescriptFuncCallArg
   1551  syntax cluster props add=typescriptDOMStorageMethod
   1552  hi def link typescriptDOMStorageMethod Keyword
   1553 
   1554  syntax keyword typescriptDOMFormProp contained acceptCharset action elements encoding
   1555  syntax keyword typescriptDOMFormProp contained enctype length method name target
   1556  syntax cluster props add=typescriptDOMFormProp
   1557  hi def link typescriptDOMFormProp Keyword
   1558  syntax keyword typescriptDOMFormMethod contained reportValidity reset submit nextgroup=typescriptFuncCallArg
   1559  syntax cluster props add=typescriptDOMFormMethod
   1560  hi def link typescriptDOMFormMethod Keyword
   1561 
   1562  syntax keyword typescriptDOMStyle contained alignContent alignItems alignSelf animation
   1563  syntax keyword typescriptDOMStyle contained animationDelay animationDirection animationDuration
   1564  syntax keyword typescriptDOMStyle contained animationFillMode animationIterationCount
   1565  syntax keyword typescriptDOMStyle contained animationName animationPlayState animationTimingFunction
   1566  syntax keyword typescriptDOMStyle contained appearance backfaceVisibility background
   1567  syntax keyword typescriptDOMStyle contained backgroundAttachment backgroundBlendMode
   1568  syntax keyword typescriptDOMStyle contained backgroundClip backgroundColor backgroundImage
   1569  syntax keyword typescriptDOMStyle contained backgroundOrigin backgroundPosition backgroundRepeat
   1570  syntax keyword typescriptDOMStyle contained backgroundSize border borderBottom borderBottomColor
   1571  syntax keyword typescriptDOMStyle contained borderBottomLeftRadius borderBottomRightRadius
   1572  syntax keyword typescriptDOMStyle contained borderBottomStyle borderBottomWidth borderCollapse
   1573  syntax keyword typescriptDOMStyle contained borderColor borderImage borderImageOutset
   1574  syntax keyword typescriptDOMStyle contained borderImageRepeat borderImageSlice borderImageSource
   1575  syntax keyword typescriptDOMStyle contained borderImageWidth borderLeft borderLeftColor
   1576  syntax keyword typescriptDOMStyle contained borderLeftStyle borderLeftWidth borderRadius
   1577  syntax keyword typescriptDOMStyle contained borderRight borderRightColor borderRightStyle
   1578  syntax keyword typescriptDOMStyle contained borderRightWidth borderSpacing borderStyle
   1579  syntax keyword typescriptDOMStyle contained borderTop borderTopColor borderTopLeftRadius
   1580  syntax keyword typescriptDOMStyle contained borderTopRightRadius borderTopStyle borderTopWidth
   1581  syntax keyword typescriptDOMStyle contained borderWidth bottom boxDecorationBreak
   1582  syntax keyword typescriptDOMStyle contained boxShadow boxSizing breakAfter breakBefore
   1583  syntax keyword typescriptDOMStyle contained breakInside captionSide caretColor caretShape
   1584  syntax keyword typescriptDOMStyle contained caret clear clip clipPath color columns
   1585  syntax keyword typescriptDOMStyle contained columnCount columnFill columnGap columnRule
   1586  syntax keyword typescriptDOMStyle contained columnRuleColor columnRuleStyle columnRuleWidth
   1587  syntax keyword typescriptDOMStyle contained columnSpan columnWidth content counterIncrement
   1588  syntax keyword typescriptDOMStyle contained counterReset cursor direction display
   1589  syntax keyword typescriptDOMStyle contained emptyCells flex flexBasis flexDirection
   1590  syntax keyword typescriptDOMStyle contained flexFlow flexGrow flexShrink flexWrap
   1591  syntax keyword typescriptDOMStyle contained float font fontFamily fontFeatureSettings
   1592  syntax keyword typescriptDOMStyle contained fontKerning fontLanguageOverride fontSize
   1593  syntax keyword typescriptDOMStyle contained fontSizeAdjust fontStretch fontStyle fontSynthesis
   1594  syntax keyword typescriptDOMStyle contained fontVariant fontVariantAlternates fontVariantCaps
   1595  syntax keyword typescriptDOMStyle contained fontVariantEastAsian fontVariantLigatures
   1596  syntax keyword typescriptDOMStyle contained fontVariantNumeric fontVariantPosition
   1597  syntax keyword typescriptDOMStyle contained fontWeight grad grid gridArea gridAutoColumns
   1598  syntax keyword typescriptDOMStyle contained gridAutoFlow gridAutoPosition gridAutoRows
   1599  syntax keyword typescriptDOMStyle contained gridColumn gridColumnStart gridColumnEnd
   1600  syntax keyword typescriptDOMStyle contained gridRow gridRowStart gridRowEnd gridTemplate
   1601  syntax keyword typescriptDOMStyle contained gridTemplateAreas gridTemplateRows gridTemplateColumns
   1602  syntax keyword typescriptDOMStyle contained height hyphens imageRendering imageResolution
   1603  syntax keyword typescriptDOMStyle contained imageOrientation imeMode inherit justifyContent
   1604  syntax keyword typescriptDOMStyle contained left letterSpacing lineBreak lineHeight
   1605  syntax keyword typescriptDOMStyle contained listStyle listStyleImage listStylePosition
   1606  syntax keyword typescriptDOMStyle contained listStyleType margin marginBottom marginLeft
   1607  syntax keyword typescriptDOMStyle contained marginRight marginTop marks mask maskType
   1608  syntax keyword typescriptDOMStyle contained maxHeight maxWidth minHeight minWidth
   1609  syntax keyword typescriptDOMStyle contained mixBlendMode objectFit objectPosition
   1610  syntax keyword typescriptDOMStyle contained opacity order orphans outline outlineColor
   1611  syntax keyword typescriptDOMStyle contained outlineOffset outlineStyle outlineWidth
   1612  syntax keyword typescriptDOMStyle contained overflow overflowWrap overflowX overflowY
   1613  syntax keyword typescriptDOMStyle contained overflowClipBox padding paddingBottom
   1614  syntax keyword typescriptDOMStyle contained paddingLeft paddingRight paddingTop pageBreakAfter
   1615  syntax keyword typescriptDOMStyle contained pageBreakBefore pageBreakInside perspective
   1616  syntax keyword typescriptDOMStyle contained perspectiveOrigin pointerEvents position
   1617  syntax keyword typescriptDOMStyle contained quotes resize right shapeImageThreshold
   1618  syntax keyword typescriptDOMStyle contained shapeMargin shapeOutside tableLayout tabSize
   1619  syntax keyword typescriptDOMStyle contained textAlign textAlignLast textCombineHorizontal
   1620  syntax keyword typescriptDOMStyle contained textDecoration textDecorationColor textDecorationLine
   1621  syntax keyword typescriptDOMStyle contained textDecorationStyle textIndent textOrientation
   1622  syntax keyword typescriptDOMStyle contained textOverflow textRendering textShadow
   1623  syntax keyword typescriptDOMStyle contained textTransform textUnderlinePosition top
   1624  syntax keyword typescriptDOMStyle contained touchAction transform transformOrigin
   1625  syntax keyword typescriptDOMStyle contained transformStyle transition transitionDelay
   1626  syntax keyword typescriptDOMStyle contained transitionDuration transitionProperty
   1627  syntax keyword typescriptDOMStyle contained transitionTimingFunction unicodeBidi unicodeRange
   1628  syntax keyword typescriptDOMStyle contained userSelect userZoom verticalAlign visibility
   1629  syntax keyword typescriptDOMStyle contained whiteSpace width willChange wordBreak
   1630  syntax keyword typescriptDOMStyle contained wordSpacing wordWrap writingMode zIndex
   1631  hi def link typescriptDOMStyle Keyword
   1632 
   1633 
   1634 
   1635  let typescript_props = 1
   1636  syntax keyword typescriptAnimationEvent contained animationend animationiteration
   1637  syntax keyword typescriptAnimationEvent contained animationstart beginEvent endEvent
   1638  syntax keyword typescriptAnimationEvent contained repeatEvent
   1639  syntax cluster events add=typescriptAnimationEvent
   1640  hi def link typescriptAnimationEvent Title
   1641  syntax keyword typescriptCSSEvent contained CssRuleViewRefreshed CssRuleViewChanged
   1642  syntax keyword typescriptCSSEvent contained CssRuleViewCSSLinkClicked transitionend
   1643  syntax cluster events add=typescriptCSSEvent
   1644  hi def link typescriptCSSEvent Title
   1645  syntax keyword typescriptDatabaseEvent contained blocked complete error success upgradeneeded
   1646  syntax keyword typescriptDatabaseEvent contained versionchange
   1647  syntax cluster events add=typescriptDatabaseEvent
   1648  hi def link typescriptDatabaseEvent Title
   1649  syntax keyword typescriptDocumentEvent contained DOMLinkAdded DOMLinkRemoved DOMMetaAdded
   1650  syntax keyword typescriptDocumentEvent contained DOMMetaRemoved DOMWillOpenModalDialog
   1651  syntax keyword typescriptDocumentEvent contained DOMModalDialogClosed unload
   1652  syntax cluster events add=typescriptDocumentEvent
   1653  hi def link typescriptDocumentEvent Title
   1654  syntax keyword typescriptDOMMutationEvent contained DOMAttributeNameChanged DOMAttrModified
   1655  syntax keyword typescriptDOMMutationEvent contained DOMCharacterDataModified DOMContentLoaded
   1656  syntax keyword typescriptDOMMutationEvent contained DOMElementNameChanged DOMNodeInserted
   1657  syntax keyword typescriptDOMMutationEvent contained DOMNodeInsertedIntoDocument DOMNodeRemoved
   1658  syntax keyword typescriptDOMMutationEvent contained DOMNodeRemovedFromDocument DOMSubtreeModified
   1659  syntax cluster events add=typescriptDOMMutationEvent
   1660  hi def link typescriptDOMMutationEvent Title
   1661  syntax keyword typescriptDragEvent contained drag dragdrop dragend dragenter dragexit
   1662  syntax keyword typescriptDragEvent contained draggesture dragleave dragover dragstart
   1663  syntax keyword typescriptDragEvent contained drop
   1664  syntax cluster events add=typescriptDragEvent
   1665  hi def link typescriptDragEvent Title
   1666  syntax keyword typescriptElementEvent contained invalid overflow underflow DOMAutoComplete
   1667  syntax keyword typescriptElementEvent contained command commandupdate
   1668  syntax cluster events add=typescriptElementEvent
   1669  hi def link typescriptElementEvent Title
   1670  syntax keyword typescriptFocusEvent contained blur change DOMFocusIn DOMFocusOut focus
   1671  syntax keyword typescriptFocusEvent contained focusin focusout
   1672  syntax cluster events add=typescriptFocusEvent
   1673  hi def link typescriptFocusEvent Title
   1674  syntax keyword typescriptFormEvent contained reset submit
   1675  syntax cluster events add=typescriptFormEvent
   1676  hi def link typescriptFormEvent Title
   1677  syntax keyword typescriptFrameEvent contained DOMFrameContentLoaded
   1678  syntax cluster events add=typescriptFrameEvent
   1679  hi def link typescriptFrameEvent Title
   1680  syntax keyword typescriptInputDeviceEvent contained click contextmenu DOMMouseScroll
   1681  syntax keyword typescriptInputDeviceEvent contained dblclick gamepadconnected gamepaddisconnected
   1682  syntax keyword typescriptInputDeviceEvent contained keydown keypress keyup MozGamepadButtonDown
   1683  syntax keyword typescriptInputDeviceEvent contained MozGamepadButtonUp mousedown mouseenter
   1684  syntax keyword typescriptInputDeviceEvent contained mouseleave mousemove mouseout
   1685  syntax keyword typescriptInputDeviceEvent contained mouseover mouseup mousewheel MozMousePixelScroll
   1686  syntax keyword typescriptInputDeviceEvent contained pointerlockchange pointerlockerror
   1687  syntax keyword typescriptInputDeviceEvent contained wheel
   1688  syntax cluster events add=typescriptInputDeviceEvent
   1689  hi def link typescriptInputDeviceEvent Title
   1690  syntax keyword typescriptMediaEvent contained audioprocess canplay canplaythrough
   1691  syntax keyword typescriptMediaEvent contained durationchange emptied ended ended loadeddata
   1692  syntax keyword typescriptMediaEvent contained loadedmetadata MozAudioAvailable pause
   1693  syntax keyword typescriptMediaEvent contained play playing ratechange seeked seeking
   1694  syntax keyword typescriptMediaEvent contained stalled suspend timeupdate volumechange
   1695  syntax keyword typescriptMediaEvent contained waiting complete
   1696  syntax cluster events add=typescriptMediaEvent
   1697  hi def link typescriptMediaEvent Title
   1698  syntax keyword typescriptMenuEvent contained DOMMenuItemActive DOMMenuItemInactive
   1699  syntax cluster events add=typescriptMenuEvent
   1700  hi def link typescriptMenuEvent Title
   1701  syntax keyword typescriptNetworkEvent contained datachange dataerror disabled enabled
   1702  syntax keyword typescriptNetworkEvent contained offline online statuschange connectionInfoUpdate
   1703  syntax cluster events add=typescriptNetworkEvent
   1704  hi def link typescriptNetworkEvent Title
   1705  syntax keyword typescriptProgressEvent contained abort error load loadend loadstart
   1706  syntax keyword typescriptProgressEvent contained progress timeout uploadprogress
   1707  syntax cluster events add=typescriptProgressEvent
   1708  hi def link typescriptProgressEvent Title
   1709  syntax keyword typescriptResourceEvent contained cached error load
   1710  syntax cluster events add=typescriptResourceEvent
   1711  hi def link typescriptResourceEvent Title
   1712  syntax keyword typescriptScriptEvent contained afterscriptexecute beforescriptexecute
   1713  syntax cluster events add=typescriptScriptEvent
   1714  hi def link typescriptScriptEvent Title
   1715  syntax keyword typescriptSensorEvent contained compassneedscalibration devicelight
   1716  syntax keyword typescriptSensorEvent contained devicemotion deviceorientation deviceproximity
   1717  syntax keyword typescriptSensorEvent contained orientationchange userproximity
   1718  syntax cluster events add=typescriptSensorEvent
   1719  hi def link typescriptSensorEvent Title
   1720  syntax keyword typescriptSessionHistoryEvent contained pagehide pageshow popstate
   1721  syntax cluster events add=typescriptSessionHistoryEvent
   1722  hi def link typescriptSessionHistoryEvent Title
   1723  syntax keyword typescriptStorageEvent contained change storage
   1724  syntax cluster events add=typescriptStorageEvent
   1725  hi def link typescriptStorageEvent Title
   1726  syntax keyword typescriptSVGEvent contained SVGAbort SVGError SVGLoad SVGResize SVGScroll
   1727  syntax keyword typescriptSVGEvent contained SVGUnload SVGZoom
   1728  syntax cluster events add=typescriptSVGEvent
   1729  hi def link typescriptSVGEvent Title
   1730  syntax keyword typescriptTabEvent contained visibilitychange
   1731  syntax cluster events add=typescriptTabEvent
   1732  hi def link typescriptTabEvent Title
   1733  syntax keyword typescriptTextEvent contained compositionend compositionstart compositionupdate
   1734  syntax keyword typescriptTextEvent contained copy cut paste select text
   1735  syntax cluster events add=typescriptTextEvent
   1736  hi def link typescriptTextEvent Title
   1737  syntax keyword typescriptTouchEvent contained touchcancel touchend touchenter touchleave
   1738  syntax keyword typescriptTouchEvent contained touchmove touchstart
   1739  syntax cluster events add=typescriptTouchEvent
   1740  hi def link typescriptTouchEvent Title
   1741  syntax keyword typescriptUpdateEvent contained checking downloading error noupdate
   1742  syntax keyword typescriptUpdateEvent contained obsolete updateready
   1743  syntax cluster events add=typescriptUpdateEvent
   1744  hi def link typescriptUpdateEvent Title
   1745  syntax keyword typescriptValueChangeEvent contained hashchange input readystatechange
   1746  syntax cluster events add=typescriptValueChangeEvent
   1747  hi def link typescriptValueChangeEvent Title
   1748  syntax keyword typescriptViewEvent contained fullscreen fullscreenchange fullscreenerror
   1749  syntax keyword typescriptViewEvent contained resize scroll
   1750  syntax cluster events add=typescriptViewEvent
   1751  hi def link typescriptViewEvent Title
   1752  syntax keyword typescriptWebsocketEvent contained close error message open
   1753  syntax cluster events add=typescriptWebsocketEvent
   1754  hi def link typescriptWebsocketEvent Title
   1755  syntax keyword typescriptWindowEvent contained DOMWindowCreated DOMWindowClose DOMTitleChanged
   1756  syntax cluster events add=typescriptWindowEvent
   1757  hi def link typescriptWindowEvent Title
   1758  syntax keyword typescriptUncategorizedEvent contained beforeunload message open show
   1759  syntax cluster events add=typescriptUncategorizedEvent
   1760  hi def link typescriptUncategorizedEvent Title
   1761  syntax keyword typescriptServiceWorkerEvent contained install activate fetch
   1762  syntax cluster events add=typescriptServiceWorkerEvent
   1763  hi def link typescriptServiceWorkerEvent Title
   1764 endif
   1765 
   1766 " patch
   1767 " patch for generated code
   1768 syntax keyword typescriptGlobal Promise
   1769  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
   1770 syntax keyword typescriptGlobal Map WeakMap
   1771  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
   1772 
   1773 syntax keyword typescriptConstructor           contained constructor
   1774  \ nextgroup=@typescriptCallSignature
   1775  \ skipwhite skipempty
   1776 
   1777 
   1778 syntax cluster memberNextGroup contains=typescriptMemberOptionality,typescriptTypeAnnotation,@typescriptCallSignature
   1779 
   1780 syntax match typescriptMember /#\?\K\k*/
   1781  \ nextgroup=@memberNextGroup
   1782  \ contained skipwhite
   1783 
   1784 syntax match typescriptMethodAccessor contained /\v(get|set)\s\K/me=e-1
   1785  \ nextgroup=@typescriptMembers
   1786 
   1787 syntax cluster typescriptPropertyMemberDeclaration contains=
   1788  \ typescriptClassStatic,
   1789  \ typescriptAccessibilityModifier,
   1790  \ typescriptReadonlyModifier,
   1791  \ typescriptAutoAccessor,
   1792  \ typescriptMethodAccessor,
   1793  \ @typescriptMembers
   1794  " \ typescriptMemberVariableDeclaration
   1795 
   1796 syntax match typescriptMemberOptionality /?\|!/ contained
   1797  \ nextgroup=typescriptTypeAnnotation,@typescriptCallSignature
   1798  \ skipwhite skipempty
   1799 
   1800 syntax cluster typescriptMembers contains=typescriptMember,typescriptStringMember,typescriptComputedMember
   1801 
   1802 syntax keyword typescriptClassStatic static
   1803  \ nextgroup=@typescriptMembers,typescriptAsyncFuncKeyword,typescriptReadonlyModifier
   1804  \ skipwhite contained
   1805 
   1806 syntax keyword typescriptAccessibilityModifier public private protected contained
   1807 
   1808 syntax keyword typescriptReadonlyModifier readonly override contained
   1809 
   1810 syntax keyword typescriptAutoAccessor accessor contained
   1811 
   1812 syntax region  typescriptStringMember   contained
   1813  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
   1814  \ nextgroup=@memberNextGroup
   1815  \ skipwhite skipempty
   1816 
   1817 syntax region  typescriptComputedMember   contained matchgroup=typescriptProperty
   1818  \ start=/\[/rs=s+1 end=/]/
   1819  \ contains=@typescriptValue,typescriptMember,typescriptMappedIn,typescriptCastKeyword
   1820  \ nextgroup=@memberNextGroup
   1821  \ skipwhite skipempty
   1822 
   1823 "don't add typescriptMembers to nextgroup, let outer scope match it
   1824 " so we won't match abstract method outside abstract class
   1825 syntax keyword typescriptAbstract              abstract
   1826  \ nextgroup=typescriptClassKeyword
   1827  \ skipwhite skipnl
   1828 syntax keyword typescriptClassKeyword          class
   1829  \ nextgroup=typescriptClassName,typescriptClassExtends,typescriptClassBlock
   1830  \ skipwhite
   1831 
   1832 syntax match   typescriptClassName             contained /\K\k*/
   1833  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptClassTypeParameter
   1834  \ skipwhite skipnl
   1835 
   1836 syntax region typescriptClassTypeParameter
   1837  \ start=/</ end=/>/
   1838  \ contains=@typescriptTypeParameterCluster
   1839  \ nextgroup=typescriptClassBlock,typescriptClassExtends
   1840  \ contained skipwhite skipnl
   1841 
   1842 syntax keyword typescriptClassExtends          contained extends implements nextgroup=typescriptClassHeritage skipwhite skipnl
   1843 
   1844 syntax match   typescriptClassHeritage         contained /\v(\k|\.|\(|\))+/
   1845  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptMixinComma,typescriptClassTypeArguments
   1846  \ contains=@typescriptValue
   1847  \ skipwhite skipnl
   1848  \ contained
   1849 
   1850 syntax region typescriptClassTypeArguments matchgroup=typescriptTypeBrackets
   1851  \ start=/</ end=/>/
   1852  \ contains=@typescriptType
   1853  \ nextgroup=typescriptClassExtends,typescriptClassBlock,typescriptMixinComma
   1854  \ contained skipwhite skipnl
   1855 
   1856 syntax match typescriptMixinComma /,/ contained nextgroup=typescriptClassHeritage skipwhite skipnl
   1857 
   1858 " we need add arrowFunc to class block for high order arrow func
   1859 " see test case
   1860 syntax region  typescriptClassBlock matchgroup=typescriptBraces start=/{/ end=/}/
   1861  \ contains=@typescriptPropertyMemberDeclaration,typescriptAbstract,@typescriptComments,typescriptBlock,typescriptAssign,typescriptDecorator,typescriptAsyncFuncKeyword,typescriptArrowFunc
   1862  \ contained fold
   1863 
   1864 syntax keyword typescriptInterfaceKeyword          interface nextgroup=typescriptInterfaceName skipwhite
   1865 syntax match   typescriptInterfaceName             contained /\k\+/
   1866  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends,typescriptInterfaceTypeParameter
   1867  \ skipwhite skipnl
   1868 syntax region typescriptInterfaceTypeParameter
   1869  \ start=/</ end=/>/
   1870  \ contains=@typescriptTypeParameterCluster
   1871  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
   1872  \ contained
   1873  \ skipwhite skipnl
   1874 
   1875 syntax keyword typescriptInterfaceExtends          contained extends nextgroup=typescriptInterfaceHeritage skipwhite skipnl
   1876 
   1877 syntax match typescriptInterfaceHeritage contained /\v(\k|\.)+/
   1878  \ nextgroup=typescriptObjectType,typescriptInterfaceComma,typescriptInterfaceTypeArguments
   1879  \ skipwhite
   1880 
   1881 syntax region typescriptInterfaceTypeArguments matchgroup=typescriptTypeBrackets
   1882  \ start=/</ end=/>/ skip=/\s*,\s*/
   1883  \ contains=@typescriptType
   1884  \ nextgroup=typescriptObjectType,typescriptInterfaceComma
   1885  \ contained skipwhite
   1886 
   1887 syntax match typescriptInterfaceComma /,/ contained nextgroup=typescriptInterfaceHeritage skipwhite skipnl
   1888 
   1889 "Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
   1890 syntax cluster typescriptStatement
   1891  \ contains=typescriptBlock,typescriptVariable,typescriptUsing,
   1892  \ @typescriptTopExpression,typescriptAssign,
   1893  \ typescriptConditional,typescriptRepeat,typescriptBranch,
   1894  \ typescriptLabel,typescriptStatementKeyword,
   1895  \ typescriptFuncKeyword,
   1896  \ typescriptTry,typescriptExceptions,typescriptDebugger,
   1897  \ typescriptExport,typescriptInterfaceKeyword,typescriptEnum,
   1898  \ typescriptModule,typescriptAliasKeyword,typescriptImport
   1899 
   1900 syntax cluster typescriptPrimitive  contains=typescriptString,typescriptTemplate,typescriptRegexpString,typescriptNumber,typescriptBoolean,typescriptNull,typescriptArray
   1901 
   1902 syntax cluster typescriptEventTypes            contains=typescriptEventString,typescriptTemplate,typescriptNumber,typescriptBoolean,typescriptNull
   1903 
   1904 " top level expression: no arrow func
   1905 " also no func keyword. funcKeyword is contained in statement
   1906 " funcKeyword allows overloading (func without body)
   1907 " funcImpl requires body
   1908 syntax cluster typescriptTopExpression
   1909  \ contains=@typescriptPrimitive,
   1910  \ typescriptIdentifier,typescriptIdentifierName,
   1911  \ typescriptOperator,typescriptUnaryOp,
   1912  \ typescriptParenExp,typescriptRegexpString,
   1913  \ typescriptGlobal,typescriptAsyncFuncKeyword,
   1914  \ typescriptClassKeyword,typescriptTypeCast
   1915 
   1916 " no object literal, used in type cast and arrow func
   1917 " TODO: change func keyword to funcImpl
   1918 syntax cluster typescriptExpression
   1919  \ contains=@typescriptTopExpression,
   1920  \ typescriptArrowFuncDef,
   1921  \ typescriptFuncImpl
   1922 
   1923 syntax cluster typescriptValue
   1924  \ contains=@typescriptExpression,typescriptObjectLiteral
   1925 
   1926 syntax cluster typescriptEventExpression       contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
   1927 
   1928 syntax keyword typescriptAsyncFuncKeyword      async
   1929  \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef,typescriptArrowFuncTypeParameter
   1930  \ skipwhite
   1931 
   1932 syntax keyword typescriptAsyncFuncKeyword      await
   1933  \ nextgroup=@typescriptValue,typescriptUsing
   1934  \ skipwhite
   1935 
   1936 syntax keyword typescriptFuncKeyword function nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature skipwhite skipempty
   1937 
   1938 syntax match   typescriptAsyncFunc             contained /*/
   1939  \ nextgroup=typescriptFuncName,@typescriptCallSignature
   1940  \ skipwhite skipempty
   1941 
   1942 syntax match   typescriptFuncName              contained /\K\k*/
   1943  \ nextgroup=@typescriptCallSignature
   1944  \ skipwhite
   1945 
   1946 syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/
   1947  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
   1948  \ nextgroup=@typescriptExpression,typescriptBlock
   1949  \ skipwhite skipempty
   1950 
   1951 syntax match   typescriptArrowFuncDef          contained /(\%(\_[^()]\+\|(\_[^()]*)\)*)\_s*=>/
   1952  \ contains=typescriptArrowFuncArg,typescriptArrowFunc,@typescriptCallSignature
   1953  \ nextgroup=@typescriptExpression,typescriptBlock
   1954  \ skipwhite skipempty
   1955 
   1956 syntax region  typescriptArrowFuncDef          contained start=/(\%(\_[^()]\+\|(\_[^()]*)\)*):/ matchgroup=typescriptArrowFunc end=/=>/
   1957  \ contains=typescriptArrowFuncArg,typescriptTypeAnnotation,@typescriptCallSignature
   1958  \ nextgroup=@typescriptExpression,typescriptBlock
   1959  \ skipwhite skipempty keepend
   1960 
   1961 syntax region  typescriptArrowFuncTypeParameter start=/</ end=/>/
   1962  \ contains=@typescriptTypeParameterCluster
   1963  \ nextgroup=typescriptArrowFuncDef
   1964  \ contained skipwhite skipnl
   1965 
   1966 syntax match   typescriptArrowFunc             /=>/
   1967 syntax match   typescriptArrowFuncArg          contained /\K\k*/
   1968 
   1969 syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
   1970 
   1971 
   1972 syntax region typescriptFuncImpl contained start=/function\>/ end=/{\|;\|\n/me=e-1
   1973  \ contains=typescriptFuncKeyword
   1974  \ nextgroup=typescriptBlock
   1975 
   1976 syntax cluster typescriptCallImpl contains=typescriptGenericImpl,typescriptParamImpl
   1977 syntax region typescriptGenericImpl matchgroup=typescriptTypeBrackets
   1978  \ start=/</ end=/>/ skip=/\s*,\s*/
   1979  \ contains=typescriptTypeParameter
   1980  \ nextgroup=typescriptParamImpl
   1981  \ contained skipwhite
   1982 syntax region typescriptParamImpl matchgroup=typescriptParens
   1983  \ start=/(/ end=/)/
   1984  \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
   1985  \ nextgroup=typescriptReturnAnnotation,typescriptBlock
   1986  \ contained skipwhite skipnl
   1987 
   1988 syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/
   1989  \ nextgroup=typescriptFuncCallArg,typescriptTypeArguments
   1990  \ contains=@_semantic,typescriptDotNotation
   1991 
   1992 
   1993 hi def link typescriptReserved              Error
   1994 
   1995 hi def link typescriptEndColons             Exception
   1996 hi def link typescriptSymbols               Normal
   1997 hi def link typescriptBraces                Function
   1998 hi def link typescriptParens                Normal
   1999 hi def link typescriptComment               Comment
   2000 hi def link typescriptLineComment           Comment
   2001 hi def link typescriptDocComment            Comment
   2002 hi def link typescriptCommentTodo           Todo
   2003 hi def link typescriptMagicComment          SpecialComment
   2004 hi def link typescriptRef                   Include
   2005 hi def link typescriptDocNotation           SpecialComment
   2006 hi def link typescriptDocTags               SpecialComment
   2007 hi def link typescriptDocNGParam            typescriptDocParam
   2008 hi def link typescriptDocParam              Function
   2009 hi def link typescriptDocNumParam           Function
   2010 hi def link typescriptDocEventRef           Function
   2011 hi def link typescriptDocNamedParamType     Type
   2012 hi def link typescriptDocParamName          Type
   2013 hi def link typescriptDocParamType          Type
   2014 hi def link typescriptString                String
   2015 hi def link typescriptSpecial               Special
   2016 hi def link typescriptStringLiteralType     String
   2017 hi def link typescriptTemplateLiteralType   String
   2018 hi def link typescriptStringMember          String
   2019 hi def link typescriptTemplate              String
   2020 hi def link typescriptEventString           String
   2021 hi def link typescriptDestructureString     String
   2022 hi def link typescriptASCII                 Special
   2023 hi def link typescriptTemplateSB            Label
   2024 hi def link typescriptRegexpString          String
   2025 hi def link typescriptGlobal                Constant
   2026 hi def link typescriptTestGlobal            Function
   2027 hi def link typescriptPrototype             Type
   2028 hi def link typescriptConditional           Conditional
   2029 hi def link typescriptConditionalElse       Conditional
   2030 hi def link typescriptCase                  Conditional
   2031 hi def link typescriptDefault               typescriptCase
   2032 hi def link typescriptBranch                Conditional
   2033 hi def link typescriptIdentifier            Structure
   2034 hi def link typescriptVariable              Keyword
   2035 hi def link typescriptUsing                 Identifier
   2036 hi def link typescriptDestructureVariable   PreProc
   2037 hi def link typescriptEnumKeyword           Identifier
   2038 hi def link typescriptRepeat                Repeat
   2039 hi def link typescriptForOperator           Repeat
   2040 hi def link typescriptStatementKeyword      Statement
   2041 hi def link typescriptMessage               Keyword
   2042 hi def link typescriptOperator              Operator
   2043 hi def link typescriptKeywordOp             Operator
   2044 hi def link typescriptCastKeyword           Special
   2045 hi def link typescriptType                  Type
   2046 hi def link typescriptNull                  Boolean
   2047 hi def link typescriptNumber                Number
   2048 hi def link typescriptBoolean               Boolean
   2049 hi def link typescriptObjectLabel           typescriptLabel
   2050 hi def link typescriptDestructureLabel      Function
   2051 hi def link typescriptLabel                 Label
   2052 hi def link typescriptTupleLable            Label
   2053 hi def link typescriptStringProperty        String
   2054 hi def link typescriptImport                Keyword
   2055 hi def link typescriptImportType            Keyword
   2056 hi def link typescriptImportDefer           Keyword
   2057 hi def link typescriptAmbientDeclaration    Keyword
   2058 hi def link typescriptExport                Keyword
   2059 hi def link typescriptExportType            Keyword
   2060 hi def link typescriptModule                Keyword
   2061 hi def link typescriptTry                   Exception
   2062 hi def link typescriptExceptions            Exception
   2063 
   2064 hi def link typescriptMember                Function
   2065 hi def link typescriptMethodAccessor        Operator
   2066 
   2067 hi def link typescriptAsyncFuncKeyword      Keyword
   2068 hi def link typescriptObjectAsyncKeyword    Keyword
   2069 hi def link typescriptAsyncFor              Keyword
   2070 hi def link typescriptFuncKeyword           Keyword
   2071 hi def link typescriptAsyncFunc             Keyword
   2072 hi def link typescriptArrowFunc             Type
   2073 hi def link typescriptFuncName              Function
   2074 hi def link typescriptFuncCallArg           PreProc
   2075 hi def link typescriptArrowFuncArg          PreProc
   2076 hi def link typescriptFuncComma             Operator
   2077 
   2078 hi def link typescriptClassKeyword          Keyword
   2079 hi def link typescriptClassExtends          Keyword
   2080 hi def link typescriptAbstract              Special
   2081 hi def link typescriptClassStatic           StorageClass
   2082 hi def link typescriptReadonlyModifier      StorageClass
   2083 hi def link typescriptInterfaceKeyword      Keyword
   2084 hi def link typescriptInterfaceExtends      Keyword
   2085 hi def link typescriptInterfaceName         Function
   2086 
   2087 hi def link shellbang                       Comment
   2088 
   2089 hi def link typescriptTypeParameter         Identifier
   2090 hi def link typescriptConstraint            Keyword
   2091 hi def link typescriptPredefinedType        Type
   2092 hi def link typescriptReadonlyArrayKeyword  Keyword
   2093 hi def link typescriptUnion                 Operator
   2094 hi def link typescriptFuncTypeArrow         Function
   2095 hi def link typescriptConstructorType       Function
   2096 hi def link typescriptTypeQuery             Keyword
   2097 hi def link typescriptAccessibilityModifier Keyword
   2098 hi def link typescriptAutoAccessor          Keyword
   2099 hi def link typescriptOptionalMark          PreProc
   2100 hi def link typescriptFuncType              Special
   2101 hi def link typescriptMappedIn              Special
   2102 hi def link typescriptCall                  PreProc
   2103 hi def link typescriptParamImpl             PreProc
   2104 hi def link typescriptConstructSignature    Identifier
   2105 hi def link typescriptAliasDeclaration      Identifier
   2106 hi def link typescriptAliasKeyword          Keyword
   2107 hi def link typescriptUserDefinedType       Keyword
   2108 hi def link typescriptTypeReference         Identifier
   2109 hi def link typescriptConstructor           Keyword
   2110 hi def link typescriptDecorator             Special
   2111 hi def link typescriptAssertType            Keyword
   2112 
   2113 hi def link typeScript                      NONE
   2114 
   2115 if exists('s:cpo_save')
   2116  let &cpo = s:cpo_save
   2117  unlet s:cpo_save
   2118 endif