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