1" Vim syntax file
2" Language:     TypeScript and TypeScriptReact
3" Maintainer:   Bram Moolenaar, Herrington Darkholme
4" Last Change:	2021 Sep 22
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  " use of nextgroup Suggested by Doug Kearns
629  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError nextgroup=typescriptFuncCallArg
630  syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError
631  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError
632  syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration
633  syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError
634  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date
635  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array
636  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array
637  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array
638  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array
639  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array
640  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray
641  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray
642  syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView
643  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator
644  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy
645  syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments
646  hi def link typescriptGlobal Structure
647  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg
648  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg
649  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg
650  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg
651  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg
652  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg
653  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg
654  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg
655  syntax cluster props add=typescriptGlobalMethod
656  hi def link typescriptGlobalMethod Structure
657
658  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg
659  syntax match   typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp
660  syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE
661  syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY
662  syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY
663  hi def link typescriptNumberStaticProp Keyword
664  syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg
665  syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg
666  hi def link typescriptNumberStaticMethod Keyword
667  syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg
668  syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg
669  syntax cluster props add=typescriptNumberMethod
670  hi def link typescriptNumberMethod Keyword
671
672  syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg
673  syntax match   typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp
674  syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg
675  hi def link typescriptStringStaticMethod Keyword
676  syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg
677  syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg
678  syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg
679  syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg
680  syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg
681  syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg
682  syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg
683  syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg
684  syntax cluster props add=typescriptStringMethod
685  hi def link typescriptStringMethod Keyword
686
687  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg
688  syntax match   typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp
689  syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg
690  hi def link typescriptArrayStaticMethod Keyword
691  syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg
692  syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg
693  syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg
694  syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg
695  syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg
696  syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg
697  syntax cluster props add=typescriptArrayMethod
698  hi def link typescriptArrayMethod Keyword
699
700  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg
701  syntax match   typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp
702  syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg
703  syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg
704  syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg
705  syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg
706  syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg
707  syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg
708  hi def link typescriptObjectStaticMethod Keyword
709  syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg
710  syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg
711  syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg
712  syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg
713  syntax cluster props add=typescriptObjectMethod
714  hi def link typescriptObjectMethod Keyword
715
716  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg
717  syntax match   typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp
718  syntax keyword typescriptSymbolStaticProp contained length iterator match replace
719  syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable
720  syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive
721  syntax keyword typescriptSymbolStaticProp contained toStringTag
722  hi def link typescriptSymbolStaticProp Keyword
723  syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg
724  hi def link typescriptSymbolStaticMethod Keyword
725
726  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function
727  syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg
728  syntax cluster props add=typescriptFunctionMethod
729  hi def link typescriptFunctionMethod Keyword
730
731  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg
732  syntax match   typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp
733  syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2
734  syntax keyword typescriptMathStaticProp contained SQRT2
735  hi def link typescriptMathStaticProp Keyword
736  syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg
737  syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg
738  syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg
739  syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg
740  syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg
741  syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg
742  hi def link typescriptMathStaticMethod Keyword
743
744  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg
745  syntax match   typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp
746  syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg
747  hi def link typescriptDateStaticMethod Keyword
748  syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg
749  syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg
750  syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg
751  syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg
752  syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg
753  syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg
754  syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg
755  syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg
756  syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg
757  syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg
758  syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg
759  syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg
760  syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg
761  syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg
762  syntax cluster props add=typescriptDateMethod
763  hi def link typescriptDateMethod Keyword
764
765  syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg
766  syntax match   typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp
767  syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg
768  hi def link typescriptJSONStaticMethod Keyword
769
770  syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg
771  syntax match   typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp
772  syntax keyword typescriptRegExpStaticProp contained lastIndex
773  hi def link typescriptRegExpStaticProp Keyword
774  syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky
775  syntax cluster props add=typescriptRegExpProp
776  hi def link typescriptRegExpProp Keyword
777  syntax keyword typescriptRegExpMethod contained exec test nextgroup=typescriptFuncCallArg
778  syntax cluster props add=typescriptRegExpMethod
779  hi def link typescriptRegExpMethod Keyword
780
781  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Map WeakMap
782  syntax keyword typescriptES6MapProp contained size
783  syntax cluster props add=typescriptES6MapProp
784  hi def link typescriptES6MapProp Keyword
785  syntax keyword typescriptES6MapMethod contained clear delete entries forEach get has nextgroup=typescriptFuncCallArg
786  syntax keyword typescriptES6MapMethod contained keys set values nextgroup=typescriptFuncCallArg
787  syntax cluster props add=typescriptES6MapMethod
788  hi def link typescriptES6MapMethod Keyword
789
790  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Set WeakSet
791  syntax keyword typescriptES6SetProp contained size
792  syntax cluster props add=typescriptES6SetProp
793  hi def link typescriptES6SetProp Keyword
794  syntax keyword typescriptES6SetMethod contained add clear delete entries forEach has nextgroup=typescriptFuncCallArg
795  syntax keyword typescriptES6SetMethod contained values nextgroup=typescriptFuncCallArg
796  syntax cluster props add=typescriptES6SetMethod
797  hi def link typescriptES6SetMethod Keyword
798
799  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Proxy
800  syntax keyword typescriptProxyAPI contained getOwnPropertyDescriptor getOwnPropertyNames
801  syntax keyword typescriptProxyAPI contained defineProperty deleteProperty freeze seal
802  syntax keyword typescriptProxyAPI contained preventExtensions has hasOwn get set enumerate
803  syntax keyword typescriptProxyAPI contained iterate ownKeys apply construct
804  hi def link typescriptProxyAPI Keyword
805
806  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Promise nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg
807  syntax match   typescriptGlobalPromiseDot /\./ contained nextgroup=typescriptPromiseStaticMethod,typescriptProp
808  syntax keyword typescriptPromiseStaticMethod contained resolve reject all race nextgroup=typescriptFuncCallArg
809  hi def link typescriptPromiseStaticMethod Keyword
810  syntax keyword typescriptPromiseMethod contained then catch finally nextgroup=typescriptFuncCallArg
811  syntax cluster props add=typescriptPromiseMethod
812  hi def link typescriptPromiseMethod Keyword
813
814  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect
815  syntax keyword typescriptReflectMethod contained apply construct defineProperty deleteProperty nextgroup=typescriptFuncCallArg
816  syntax keyword typescriptReflectMethod contained enumerate get getOwnPropertyDescriptor nextgroup=typescriptFuncCallArg
817  syntax keyword typescriptReflectMethod contained getPrototypeOf has isExtensible ownKeys nextgroup=typescriptFuncCallArg
818  syntax keyword typescriptReflectMethod contained preventExtensions set setPrototypeOf nextgroup=typescriptFuncCallArg
819  syntax cluster props add=typescriptReflectMethod
820  hi def link typescriptReflectMethod Keyword
821
822  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Intl
823  syntax keyword typescriptIntlMethod contained Collator DateTimeFormat NumberFormat nextgroup=typescriptFuncCallArg
824  syntax keyword typescriptIntlMethod contained PluralRules nextgroup=typescriptFuncCallArg
825  syntax cluster props add=typescriptIntlMethod
826  hi def link typescriptIntlMethod Keyword
827
828  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName global process
829  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName console Buffer
830  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName module exports
831  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setTimeout
832  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearTimeout
833  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName setInterval
834  syntax keyword typescriptNodeGlobal containedin=typescriptIdentifierName clearInterval
835  hi def link typescriptNodeGlobal Structure
836
837  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName describe
838  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName it test before
839  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName after beforeEach
840  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterEach
841  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName beforeAll
842  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName afterAll
843  syntax keyword typescriptTestGlobal containedin=typescriptIdentifierName expect assert
844
845  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbortController
846  syntax keyword typescriptBOM containedin=typescriptIdentifierName AbstractWorker AnalyserNode
847  syntax keyword typescriptBOM containedin=typescriptIdentifierName App Apps ArrayBuffer
848  syntax keyword typescriptBOM containedin=typescriptIdentifierName ArrayBufferView
849  syntax keyword typescriptBOM containedin=typescriptIdentifierName Attr AudioBuffer
850  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioBufferSourceNode
851  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioContext AudioDestinationNode
852  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioListener AudioNode
853  syntax keyword typescriptBOM containedin=typescriptIdentifierName AudioParam BatteryManager
854  syntax keyword typescriptBOM containedin=typescriptIdentifierName BiquadFilterNode
855  syntax keyword typescriptBOM containedin=typescriptIdentifierName BlobEvent BluetoothAdapter
856  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothDevice
857  syntax keyword typescriptBOM containedin=typescriptIdentifierName BluetoothManager
858  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraCapabilities
859  syntax keyword typescriptBOM containedin=typescriptIdentifierName CameraControl CameraManager
860  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasGradient CanvasImageSource
861  syntax keyword typescriptBOM containedin=typescriptIdentifierName CanvasPattern CanvasRenderingContext2D
862  syntax keyword typescriptBOM containedin=typescriptIdentifierName CaretPosition CDATASection
863  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelMergerNode
864  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChannelSplitterNode
865  syntax keyword typescriptBOM containedin=typescriptIdentifierName CharacterData ChildNode
866  syntax keyword typescriptBOM containedin=typescriptIdentifierName ChromeWorker Comment
867  syntax keyword typescriptBOM containedin=typescriptIdentifierName Connection Console
868  syntax keyword typescriptBOM containedin=typescriptIdentifierName ContactManager Contacts
869  syntax keyword typescriptBOM containedin=typescriptIdentifierName ConvolverNode Coordinates
870  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSS CSSConditionRule
871  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSGroupingRule
872  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframeRule
873  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSKeyframesRule
874  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSMediaRule CSSNamespaceRule
875  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSPageRule CSSRule
876  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSRuleList CSSStyleDeclaration
877  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSStyleRule CSSStyleSheet
878  syntax keyword typescriptBOM containedin=typescriptIdentifierName CSSSupportsRule
879  syntax keyword typescriptBOM containedin=typescriptIdentifierName DataTransfer DataView
880  syntax keyword typescriptBOM containedin=typescriptIdentifierName DedicatedWorkerGlobalScope
881  syntax keyword typescriptBOM containedin=typescriptIdentifierName DelayNode DeviceAcceleration
882  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceRotationRate
883  syntax keyword typescriptBOM containedin=typescriptIdentifierName DeviceStorage DirectoryEntry
884  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryEntrySync
885  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReader
886  syntax keyword typescriptBOM containedin=typescriptIdentifierName DirectoryReaderSync
887  syntax keyword typescriptBOM containedin=typescriptIdentifierName Document DocumentFragment
888  syntax keyword typescriptBOM containedin=typescriptIdentifierName DocumentTouch DocumentType
889  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMCursor DOMError
890  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMException DOMHighResTimeStamp
891  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementation
892  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMImplementationRegistry
893  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMParser DOMRequest
894  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMString DOMStringList
895  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMStringMap DOMTimeStamp
896  syntax keyword typescriptBOM containedin=typescriptIdentifierName DOMTokenList DynamicsCompressorNode
897  syntax keyword typescriptBOM containedin=typescriptIdentifierName Element Entry EntrySync
898  syntax keyword typescriptBOM containedin=typescriptIdentifierName Extensions FileException
899  syntax keyword typescriptBOM containedin=typescriptIdentifierName Float32Array Float64Array
900  syntax keyword typescriptBOM containedin=typescriptIdentifierName FMRadio FormData
901  syntax keyword typescriptBOM containedin=typescriptIdentifierName GainNode Gamepad
902  syntax keyword typescriptBOM containedin=typescriptIdentifierName GamepadButton Geolocation
903  syntax keyword typescriptBOM containedin=typescriptIdentifierName History HTMLAnchorElement
904  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAreaElement
905  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLAudioElement
906  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBaseElement
907  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBodyElement
908  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLBRElement HTMLButtonElement
909  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCanvasElement
910  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLCollection HTMLDataElement
911  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDataListElement
912  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDivElement HTMLDListElement
913  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLDocument HTMLElement
914  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLEmbedElement
915  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFieldSetElement
916  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormControlsCollection
917  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLFormElement
918  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadElement
919  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHeadingElement
920  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLHRElement HTMLHtmlElement
921  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLIFrameElement
922  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLImageElement
923  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLInputElement
924  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLKeygenElement
925  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLabelElement
926  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLegendElement
927  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLLIElement HTMLLinkElement
928  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMapElement HTMLMediaElement
929  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMetaElement
930  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLMeterElement
931  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLModElement HTMLObjectElement
932  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOListElement
933  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptGroupElement
934  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionElement
935  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOptionsCollection
936  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLOutputElement
937  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParagraphElement
938  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLParamElement
939  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLPreElement HTMLProgressElement
940  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLQuoteElement
941  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLScriptElement
942  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSelectElement
943  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSourceElement
944  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLSpanElement
945  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLStyleElement
946  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCaptionElement
947  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableCellElement
948  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableColElement
949  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableDataCellElement
950  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableElement
951  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableHeaderCellElement
952  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableRowElement
953  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTableSectionElement
954  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTextAreaElement
955  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTimeElement
956  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTitleElement
957  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLTrackElement
958  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUListElement
959  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLUnknownElement
960  syntax keyword typescriptBOM containedin=typescriptIdentifierName HTMLVideoElement
961  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursor IDBCursorSync
962  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBCursorWithValue
963  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBDatabase IDBDatabaseSync
964  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBEnvironment IDBEnvironmentSync
965  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBFactory IDBFactorySync
966  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBIndex IDBIndexSync
967  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBKeyRange IDBObjectStore
968  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBObjectStoreSync
969  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBOpenDBRequest
970  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBRequest IDBTransaction
971  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBTransactionSync
972  syntax keyword typescriptBOM containedin=typescriptIdentifierName IDBVersionChangeEvent
973  syntax keyword typescriptBOM containedin=typescriptIdentifierName ImageData IndexedDB
974  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int16Array Int32Array
975  syntax keyword typescriptBOM containedin=typescriptIdentifierName Int8Array L10n LinkStyle
976  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystem
977  syntax keyword typescriptBOM containedin=typescriptIdentifierName LocalFileSystemSync
978  syntax keyword typescriptBOM containedin=typescriptIdentifierName Location LockedFile
979  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaQueryList MediaQueryListListener
980  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaRecorder MediaSource
981  syntax keyword typescriptBOM containedin=typescriptIdentifierName MediaStream MediaStreamTrack
982  syntax keyword typescriptBOM containedin=typescriptIdentifierName MutationObserver
983  syntax keyword typescriptBOM containedin=typescriptIdentifierName Navigator NavigatorGeolocation
984  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorID NavigatorLanguage
985  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorOnLine
986  syntax keyword typescriptBOM containedin=typescriptIdentifierName NavigatorPlugins
987  syntax keyword typescriptBOM containedin=typescriptIdentifierName Node NodeFilter
988  syntax keyword typescriptBOM containedin=typescriptIdentifierName NodeIterator NodeList
989  syntax keyword typescriptBOM containedin=typescriptIdentifierName Notification OfflineAudioContext
990  syntax keyword typescriptBOM containedin=typescriptIdentifierName OscillatorNode PannerNode
991  syntax keyword typescriptBOM containedin=typescriptIdentifierName ParentNode Performance
992  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceNavigation
993  syntax keyword typescriptBOM containedin=typescriptIdentifierName PerformanceTiming
994  syntax keyword typescriptBOM containedin=typescriptIdentifierName Permissions PermissionSettings
995  syntax keyword typescriptBOM containedin=typescriptIdentifierName Plugin PluginArray
996  syntax keyword typescriptBOM containedin=typescriptIdentifierName Position PositionError
997  syntax keyword typescriptBOM containedin=typescriptIdentifierName PositionOptions
998  syntax keyword typescriptBOM containedin=typescriptIdentifierName PowerManager ProcessingInstruction
999  syntax keyword typescriptBOM containedin=typescriptIdentifierName PromiseResolver
1000  syntax keyword typescriptBOM containedin=typescriptIdentifierName PushManager Range
1001  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCConfiguration
1002  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnection
1003  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCPeerConnectionErrorCallback
1004  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescription
1005  syntax keyword typescriptBOM containedin=typescriptIdentifierName RTCSessionDescriptionCallback
1006  syntax keyword typescriptBOM containedin=typescriptIdentifierName ScriptProcessorNode
1007  syntax keyword typescriptBOM containedin=typescriptIdentifierName Selection SettingsLock
1008  syntax keyword typescriptBOM containedin=typescriptIdentifierName SettingsManager
1009  syntax keyword typescriptBOM containedin=typescriptIdentifierName SharedWorker StyleSheet
1010  syntax keyword typescriptBOM containedin=typescriptIdentifierName StyleSheetList SVGAElement
1011  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAngle SVGAnimateColorElement
1012  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedAngle
1013  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedBoolean
1014  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedEnumeration
1015  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedInteger
1016  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLength
1017  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedLengthList
1018  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumber
1019  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedNumberList
1020  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPoints
1021  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedPreserveAspectRatio
1022  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedRect
1023  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedString
1024  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimatedTransformList
1025  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateElement
1026  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateMotionElement
1027  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimateTransformElement
1028  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGAnimationElement
1029  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCircleElement
1030  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGClipPathElement
1031  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGCursorElement
1032  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGDefsElement SVGDescElement
1033  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGElement SVGEllipseElement
1034  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFilterElement
1035  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontElement SVGFontFaceElement
1036  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceFormatElement
1037  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceNameElement
1038  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceSrcElement
1039  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGFontFaceUriElement
1040  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGForeignObjectElement
1041  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGElement SVGGlyphElement
1042  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGGradientElement
1043  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGHKernElement
1044  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGImageElement
1045  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLength SVGLengthList
1046  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLinearGradientElement
1047  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGLineElement SVGMaskElement
1048  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMatrix SVGMissingGlyphElement
1049  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGMPathElement
1050  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGNumber SVGNumberList
1051  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPathElement SVGPatternElement
1052  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPoint SVGPolygonElement
1053  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPolylineElement
1054  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGPreserveAspectRatio
1055  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRadialGradientElement
1056  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGRect SVGRectElement
1057  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGScriptElement
1058  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSetElement SVGStopElement
1059  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStringList SVGStylable
1060  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGStyleElement
1061  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSVGElement SVGSwitchElement
1062  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGSymbolElement
1063  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTests SVGTextElement
1064  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTextPositioningElement
1065  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTitleElement
1066  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransform SVGTransformable
1067  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTransformList
1068  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGTRefElement SVGTSpanElement
1069  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGUseElement SVGViewElement
1070  syntax keyword typescriptBOM containedin=typescriptIdentifierName SVGVKernElement
1071  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPServerSocket
1072  syntax keyword typescriptBOM containedin=typescriptIdentifierName TCPSocket Telephony
1073  syntax keyword typescriptBOM containedin=typescriptIdentifierName TelephonyCall Text
1074  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextDecoder TextEncoder
1075  syntax keyword typescriptBOM containedin=typescriptIdentifierName TextMetrics TimeRanges
1076  syntax keyword typescriptBOM containedin=typescriptIdentifierName Touch TouchList
1077  syntax keyword typescriptBOM containedin=typescriptIdentifierName Transferable TreeWalker
1078  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint16Array Uint32Array
1079  syntax keyword typescriptBOM containedin=typescriptIdentifierName Uint8Array Uint8ClampedArray
1080  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLSearchParams
1081  syntax keyword typescriptBOM containedin=typescriptIdentifierName URLUtilsReadOnly
1082  syntax keyword typescriptBOM containedin=typescriptIdentifierName UserProximityEvent
1083  syntax keyword typescriptBOM containedin=typescriptIdentifierName ValidityState VideoPlaybackQuality
1084  syntax keyword typescriptBOM containedin=typescriptIdentifierName WaveShaperNode WebBluetooth
1085  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebGLRenderingContext
1086  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebSMS WebSocket
1087  syntax keyword typescriptBOM containedin=typescriptIdentifierName WebVTT WifiManager
1088  syntax keyword typescriptBOM containedin=typescriptIdentifierName Window Worker WorkerConsole
1089  syntax keyword typescriptBOM containedin=typescriptIdentifierName WorkerLocation WorkerNavigator
1090  syntax keyword typescriptBOM containedin=typescriptIdentifierName XDomainRequest XMLDocument
1091  syntax keyword typescriptBOM containedin=typescriptIdentifierName XMLHttpRequestEventTarget
1092  hi def link typescriptBOM Structure
1093
1094  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName applicationCache
1095  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName closed
1096  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName Components
1097  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName controllers
1098  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName dialogArguments
1099  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName document
1100  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frameElement
1101  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName frames
1102  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName fullScreen
1103  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName history
1104  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerHeight
1105  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName innerWidth
1106  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName length
1107  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName location
1108  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName locationbar
1109  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName menubar
1110  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName messageManager
1111  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName name navigator
1112  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName opener
1113  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerHeight
1114  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName outerWidth
1115  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageXOffset
1116  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName pageYOffset
1117  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName parent
1118  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName performance
1119  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName personalbar
1120  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName returnValue
1121  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screen
1122  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenX
1123  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName screenY
1124  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollbars
1125  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxX
1126  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollMaxY
1127  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollX
1128  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName scrollY
1129  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName self sidebar
1130  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName status
1131  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName statusbar
1132  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName toolbar
1133  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName top visualViewport
1134  syntax keyword typescriptBOMWindowProp containedin=typescriptIdentifierName window
1135  syntax cluster props add=typescriptBOMWindowProp
1136  hi def link typescriptBOMWindowProp Structure
1137  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName alert nextgroup=typescriptFuncCallArg
1138  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName atob nextgroup=typescriptFuncCallArg
1139  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName blur nextgroup=typescriptFuncCallArg
1140  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName btoa nextgroup=typescriptFuncCallArg
1141  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearImmediate nextgroup=typescriptFuncCallArg
1142  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearInterval nextgroup=typescriptFuncCallArg
1143  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName clearTimeout nextgroup=typescriptFuncCallArg
1144  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName close nextgroup=typescriptFuncCallArg
1145  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName confirm nextgroup=typescriptFuncCallArg
1146  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName dispatchEvent nextgroup=typescriptFuncCallArg
1147  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName find nextgroup=typescriptFuncCallArg
1148  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName focus nextgroup=typescriptFuncCallArg
1149  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttention nextgroup=typescriptFuncCallArg
1150  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getAttentionWithCycleCount nextgroup=typescriptFuncCallArg
1151  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getComputedStyle nextgroup=typescriptFuncCallArg
1152  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getDefaulComputedStyle nextgroup=typescriptFuncCallArg
1153  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName getSelection nextgroup=typescriptFuncCallArg
1154  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName matchMedia nextgroup=typescriptFuncCallArg
1155  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName maximize nextgroup=typescriptFuncCallArg
1156  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveBy nextgroup=typescriptFuncCallArg
1157  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName moveTo nextgroup=typescriptFuncCallArg
1158  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName open nextgroup=typescriptFuncCallArg
1159  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName openDialog nextgroup=typescriptFuncCallArg
1160  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName postMessage nextgroup=typescriptFuncCallArg
1161  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName print nextgroup=typescriptFuncCallArg
1162  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName prompt nextgroup=typescriptFuncCallArg
1163  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName removeEventListener nextgroup=typescriptFuncCallArg
1164  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeBy nextgroup=typescriptFuncCallArg
1165  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName resizeTo nextgroup=typescriptFuncCallArg
1166  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName restore nextgroup=typescriptFuncCallArg
1167  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scroll nextgroup=typescriptFuncCallArg
1168  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollBy nextgroup=typescriptFuncCallArg
1169  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByLines nextgroup=typescriptFuncCallArg
1170  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollByPages nextgroup=typescriptFuncCallArg
1171  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName scrollTo nextgroup=typescriptFuncCallArg
1172  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setCursor nextgroup=typescriptFuncCallArg
1173  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setImmediate nextgroup=typescriptFuncCallArg
1174  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setInterval nextgroup=typescriptFuncCallArg
1175  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setResizable nextgroup=typescriptFuncCallArg
1176  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName setTimeout nextgroup=typescriptFuncCallArg
1177  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName showModalDialog nextgroup=typescriptFuncCallArg
1178  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName sizeToContent nextgroup=typescriptFuncCallArg
1179  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName stop nextgroup=typescriptFuncCallArg
1180  syntax keyword typescriptBOMWindowMethod containedin=typescriptIdentifierName updateCommands nextgroup=typescriptFuncCallArg
1181  syntax cluster props add=typescriptBOMWindowMethod
1182  hi def link typescriptBOMWindowMethod Structure
1183  syntax keyword typescriptBOMWindowEvent contained onabort onbeforeunload onblur onchange
1184  syntax keyword typescriptBOMWindowEvent contained onclick onclose oncontextmenu ondevicelight
1185  syntax keyword typescriptBOMWindowEvent contained ondevicemotion ondeviceorientation
1186  syntax keyword typescriptBOMWindowEvent contained ondeviceproximity ondragdrop onerror
1187  syntax keyword typescriptBOMWindowEvent contained onfocus onhashchange onkeydown onkeypress
1188  syntax keyword typescriptBOMWindowEvent contained onkeyup onload onmousedown onmousemove
1189  syntax keyword typescriptBOMWindowEvent contained onmouseout onmouseover onmouseup
1190  syntax keyword typescriptBOMWindowEvent contained onmozbeforepaint onpaint onpopstate
1191  syntax keyword typescriptBOMWindowEvent contained onreset onresize onscroll onselect
1192  syntax keyword typescriptBOMWindowEvent contained onsubmit onunload onuserproximity
1193  syntax keyword typescriptBOMWindowEvent contained onpageshow onpagehide
1194  hi def link typescriptBOMWindowEvent Keyword
1195  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName DOMParser
1196  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName QueryInterface
1197  syntax keyword typescriptBOMWindowCons containedin=typescriptIdentifierName XMLSerializer
1198  hi def link typescriptBOMWindowCons Structure
1199
1200  syntax keyword typescriptBOMNavigatorProp contained battery buildID connection cookieEnabled
1201  syntax keyword typescriptBOMNavigatorProp contained doNotTrack maxTouchPoints oscpu
1202  syntax keyword typescriptBOMNavigatorProp contained productSub push serviceWorker
1203  syntax keyword typescriptBOMNavigatorProp contained vendor vendorSub
1204  syntax cluster props add=typescriptBOMNavigatorProp
1205  hi def link typescriptBOMNavigatorProp Keyword
1206  syntax keyword typescriptBOMNavigatorMethod contained addIdleObserver geolocation nextgroup=typescriptFuncCallArg
1207  syntax keyword typescriptBOMNavigatorMethod contained getDeviceStorage getDeviceStorages nextgroup=typescriptFuncCallArg
1208  syntax keyword typescriptBOMNavigatorMethod contained getGamepads getUserMedia registerContentHandler nextgroup=typescriptFuncCallArg
1209  syntax keyword typescriptBOMNavigatorMethod contained removeIdleObserver requestWakeLock nextgroup=typescriptFuncCallArg
1210  syntax keyword typescriptBOMNavigatorMethod contained share vibrate watch registerProtocolHandler nextgroup=typescriptFuncCallArg
1211  syntax keyword typescriptBOMNavigatorMethod contained sendBeacon nextgroup=typescriptFuncCallArg
1212  syntax cluster props add=typescriptBOMNavigatorMethod
1213  hi def link typescriptBOMNavigatorMethod Keyword
1214  syntax keyword typescriptServiceWorkerMethod contained register nextgroup=typescriptFuncCallArg
1215  syntax cluster props add=typescriptServiceWorkerMethod
1216  hi def link typescriptServiceWorkerMethod Keyword
1217
1218  syntax keyword typescriptBOMLocationProp contained href protocol host hostname port
1219  syntax keyword typescriptBOMLocationProp contained pathname search hash username password
1220  syntax keyword typescriptBOMLocationProp contained origin
1221  syntax cluster props add=typescriptBOMLocationProp
1222  hi def link typescriptBOMLocationProp Keyword
1223  syntax keyword typescriptBOMLocationMethod contained assign reload replace toString nextgroup=typescriptFuncCallArg
1224  syntax cluster props add=typescriptBOMLocationMethod
1225  hi def link typescriptBOMLocationMethod Keyword
1226
1227  syntax keyword typescriptBOMHistoryProp contained length current next previous state
1228  syntax keyword typescriptBOMHistoryProp contained scrollRestoration
1229  syntax cluster props add=typescriptBOMHistoryProp
1230  hi def link typescriptBOMHistoryProp Keyword
1231  syntax keyword typescriptBOMHistoryMethod contained back forward go pushState replaceState nextgroup=typescriptFuncCallArg
1232  syntax cluster props add=typescriptBOMHistoryMethod
1233  hi def link typescriptBOMHistoryMethod Keyword
1234
1235  syntax keyword typescriptGlobal containedin=typescriptIdentifierName console
1236  syntax keyword typescriptConsoleMethod contained count dir error group groupCollapsed nextgroup=typescriptFuncCallArg
1237  syntax keyword typescriptConsoleMethod contained groupEnd info log time timeEnd trace nextgroup=typescriptFuncCallArg
1238  syntax keyword typescriptConsoleMethod contained warn nextgroup=typescriptFuncCallArg
1239  syntax cluster props add=typescriptConsoleMethod
1240  hi def link typescriptConsoleMethod Keyword
1241
1242  syntax keyword typescriptXHRGlobal containedin=typescriptIdentifierName XMLHttpRequest
1243  hi def link typescriptXHRGlobal Structure
1244  syntax keyword typescriptXHRProp contained onreadystatechange readyState response
1245  syntax keyword typescriptXHRProp contained responseText responseType responseXML status
1246  syntax keyword typescriptXHRProp contained statusText timeout ontimeout upload withCredentials
1247  syntax cluster props add=typescriptXHRProp
1248  hi def link typescriptXHRProp Keyword
1249  syntax keyword typescriptXHRMethod contained abort getAllResponseHeaders getResponseHeader nextgroup=typescriptFuncCallArg
1250  syntax keyword typescriptXHRMethod contained open overrideMimeType send setRequestHeader nextgroup=typescriptFuncCallArg
1251  syntax cluster props add=typescriptXHRMethod
1252  hi def link typescriptXHRMethod Keyword
1253
1254  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Blob BlobBuilder
1255  syntax keyword typescriptGlobal containedin=typescriptIdentifierName File FileReader
1256  syntax keyword typescriptGlobal containedin=typescriptIdentifierName FileReaderSync
1257  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URL nextgroup=typescriptGlobalURLDot,typescriptFuncCallArg
1258  syntax match   typescriptGlobalURLDot /\./ contained nextgroup=typescriptURLStaticMethod,typescriptProp
1259  syntax keyword typescriptGlobal containedin=typescriptIdentifierName URLUtils
1260  syntax keyword typescriptFileMethod contained readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
1261  syntax keyword typescriptFileMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
1262  syntax cluster props add=typescriptFileMethod
1263  hi def link typescriptFileMethod Keyword
1264  syntax keyword typescriptFileReaderProp contained error readyState result
1265  syntax cluster props add=typescriptFileReaderProp
1266  hi def link typescriptFileReaderProp Keyword
1267  syntax keyword typescriptFileReaderMethod contained abort readAsArrayBuffer readAsBinaryString nextgroup=typescriptFuncCallArg
1268  syntax keyword typescriptFileReaderMethod contained readAsDataURL readAsText nextgroup=typescriptFuncCallArg
1269  syntax cluster props add=typescriptFileReaderMethod
1270  hi def link typescriptFileReaderMethod Keyword
1271  syntax keyword typescriptFileListMethod contained item nextgroup=typescriptFuncCallArg
1272  syntax cluster props add=typescriptFileListMethod
1273  hi def link typescriptFileListMethod Keyword
1274  syntax keyword typescriptBlobMethod contained append getBlob getFile nextgroup=typescriptFuncCallArg
1275  syntax cluster props add=typescriptBlobMethod
1276  hi def link typescriptBlobMethod Keyword
1277  syntax keyword typescriptURLUtilsProp contained hash host hostname href origin password
1278  syntax keyword typescriptURLUtilsProp contained pathname port protocol search searchParams
1279  syntax keyword typescriptURLUtilsProp contained username
1280  syntax cluster props add=typescriptURLUtilsProp
1281  hi def link typescriptURLUtilsProp Keyword
1282  syntax keyword typescriptURLStaticMethod contained createObjectURL revokeObjectURL nextgroup=typescriptFuncCallArg
1283  hi def link typescriptURLStaticMethod Keyword
1284
1285  syntax keyword typescriptCryptoGlobal containedin=typescriptIdentifierName crypto
1286  hi def link typescriptCryptoGlobal Structure
1287  syntax keyword typescriptSubtleCryptoMethod contained encrypt decrypt sign verify nextgroup=typescriptFuncCallArg
1288  syntax keyword typescriptSubtleCryptoMethod contained digest nextgroup=typescriptFuncCallArg
1289  syntax cluster props add=typescriptSubtleCryptoMethod
1290  hi def link typescriptSubtleCryptoMethod Keyword
1291  syntax keyword typescriptCryptoProp contained subtle
1292  syntax cluster props add=typescriptCryptoProp
1293  hi def link typescriptCryptoProp Keyword
1294  syntax keyword typescriptCryptoMethod contained getRandomValues nextgroup=typescriptFuncCallArg
1295  syntax cluster props add=typescriptCryptoMethod
1296  hi def link typescriptCryptoMethod Keyword
1297
1298  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Headers Request
1299  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Response
1300  syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName fetch nextgroup=typescriptFuncCallArg
1301  syntax cluster props add=typescriptGlobalMethod
1302  hi def link typescriptGlobalMethod Structure
1303  syntax keyword typescriptHeadersMethod contained append delete get getAll has set nextgroup=typescriptFuncCallArg
1304  syntax cluster props add=typescriptHeadersMethod
1305  hi def link typescriptHeadersMethod Keyword
1306  syntax keyword typescriptRequestProp contained method url headers context referrer
1307  syntax keyword typescriptRequestProp contained mode credentials cache
1308  syntax cluster props add=typescriptRequestProp
1309  hi def link typescriptRequestProp Keyword
1310  syntax keyword typescriptRequestMethod contained clone nextgroup=typescriptFuncCallArg
1311  syntax cluster props add=typescriptRequestMethod
1312  hi def link typescriptRequestMethod Keyword
1313  syntax keyword typescriptResponseProp contained type url status statusText headers
1314  syntax keyword typescriptResponseProp contained redirected
1315  syntax cluster props add=typescriptResponseProp
1316  hi def link typescriptResponseProp Keyword
1317  syntax keyword typescriptResponseMethod contained clone nextgroup=typescriptFuncCallArg
1318  syntax cluster props add=typescriptResponseMethod
1319  hi def link typescriptResponseMethod Keyword
1320
1321  syntax keyword typescriptServiceWorkerProp contained controller ready
1322  syntax cluster props add=typescriptServiceWorkerProp
1323  hi def link typescriptServiceWorkerProp Keyword
1324  syntax keyword typescriptServiceWorkerMethod contained register getRegistration nextgroup=typescriptFuncCallArg
1325  syntax cluster props add=typescriptServiceWorkerMethod
1326  hi def link typescriptServiceWorkerMethod Keyword
1327  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Cache
1328  syntax keyword typescriptCacheMethod contained match matchAll add addAll put delete nextgroup=typescriptFuncCallArg
1329  syntax keyword typescriptCacheMethod contained keys nextgroup=typescriptFuncCallArg
1330  syntax cluster props add=typescriptCacheMethod
1331  hi def link typescriptCacheMethod Keyword
1332
1333  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextEncoder
1334  syntax keyword typescriptEncodingGlobal containedin=typescriptIdentifierName TextDecoder
1335  hi def link typescriptEncodingGlobal Structure
1336  syntax keyword typescriptEncodingProp contained encoding fatal ignoreBOM
1337  syntax cluster props add=typescriptEncodingProp
1338  hi def link typescriptEncodingProp Keyword
1339  syntax keyword typescriptEncodingMethod contained encode decode nextgroup=typescriptFuncCallArg
1340  syntax cluster props add=typescriptEncodingMethod
1341  hi def link typescriptEncodingMethod Keyword
1342
1343  syntax keyword typescriptGlobal containedin=typescriptIdentifierName Geolocation
1344  syntax keyword typescriptGeolocationMethod contained getCurrentPosition watchPosition nextgroup=typescriptFuncCallArg
1345  syntax keyword typescriptGeolocationMethod contained clearWatch nextgroup=typescriptFuncCallArg
1346  syntax cluster props add=typescriptGeolocationMethod
1347  hi def link typescriptGeolocationMethod Keyword
1348
1349  syntax keyword typescriptGlobal containedin=typescriptIdentifierName NetworkInformation
1350  syntax keyword typescriptBOMNetworkProp contained downlink downlinkMax effectiveType
1351  syntax keyword typescriptBOMNetworkProp contained rtt type
1352  syntax cluster props add=typescriptBOMNetworkProp
1353  hi def link typescriptBOMNetworkProp Keyword
1354
1355  syntax keyword typescriptGlobal containedin=typescriptIdentifierName PaymentRequest
1356  syntax keyword typescriptPaymentMethod contained show abort canMakePayment nextgroup=typescriptFuncCallArg
1357  syntax cluster props add=typescriptPaymentMethod
1358  hi def link typescriptPaymentMethod Keyword
1359  syntax keyword typescriptPaymentProp contained shippingAddress shippingOption result
1360  syntax cluster props add=typescriptPaymentProp
1361  hi def link typescriptPaymentProp Keyword
1362  syntax keyword typescriptPaymentEvent contained onshippingaddresschange onshippingoptionchange
1363  hi def link typescriptPaymentEvent Keyword
1364  syntax keyword typescriptPaymentResponseMethod contained complete nextgroup=typescriptFuncCallArg
1365  syntax cluster props add=typescriptPaymentResponseMethod
1366  hi def link typescriptPaymentResponseMethod Keyword
1367  syntax keyword typescriptPaymentResponseProp contained details methodName payerEmail
1368  syntax keyword typescriptPaymentResponseProp contained payerPhone shippingAddress
1369  syntax keyword typescriptPaymentResponseProp contained shippingOption
1370  syntax cluster props add=typescriptPaymentResponseProp
1371  hi def link typescriptPaymentResponseProp Keyword
1372  syntax keyword typescriptPaymentAddressProp contained addressLine careOf city country
1373  syntax keyword typescriptPaymentAddressProp contained country dependentLocality languageCode
1374  syntax keyword typescriptPaymentAddressProp contained organization phone postalCode
1375  syntax keyword typescriptPaymentAddressProp contained recipient region sortingCode
1376  syntax cluster props add=typescriptPaymentAddressProp
1377  hi def link typescriptPaymentAddressProp Keyword
1378  syntax keyword typescriptPaymentShippingOptionProp contained id label amount selected
1379  syntax cluster props add=typescriptPaymentShippingOptionProp
1380  hi def link typescriptPaymentShippingOptionProp Keyword
1381
1382  syntax keyword typescriptDOMNodeProp contained attributes baseURI baseURIObject childNodes
1383  syntax keyword typescriptDOMNodeProp contained firstChild lastChild localName namespaceURI
1384  syntax keyword typescriptDOMNodeProp contained nextSibling nodeName nodePrincipal
1385  syntax keyword typescriptDOMNodeProp contained nodeType nodeValue ownerDocument parentElement
1386  syntax keyword typescriptDOMNodeProp contained parentNode prefix previousSibling textContent
1387  syntax cluster props add=typescriptDOMNodeProp
1388  hi def link typescriptDOMNodeProp Keyword
1389  syntax keyword typescriptDOMNodeMethod contained appendChild cloneNode compareDocumentPosition nextgroup=typescriptFuncCallArg
1390  syntax keyword typescriptDOMNodeMethod contained getUserData hasAttributes hasChildNodes nextgroup=typescriptFuncCallArg
1391  syntax keyword typescriptDOMNodeMethod contained insertBefore isDefaultNamespace isEqualNode nextgroup=typescriptFuncCallArg
1392  syntax keyword typescriptDOMNodeMethod contained isSameNode isSupported lookupNamespaceURI nextgroup=typescriptFuncCallArg
1393  syntax keyword typescriptDOMNodeMethod contained lookupPrefix normalize removeChild nextgroup=typescriptFuncCallArg
1394  syntax keyword typescriptDOMNodeMethod contained replaceChild setUserData nextgroup=typescriptFuncCallArg
1395  syntax match typescriptDOMNodeMethod contained /contains/
1396  syntax cluster props add=typescriptDOMNodeMethod
1397  hi def link typescriptDOMNodeMethod Keyword
1398  syntax keyword typescriptDOMNodeType contained ELEMENT_NODE ATTRIBUTE_NODE TEXT_NODE
1399  syntax keyword typescriptDOMNodeType contained CDATA_SECTION_NODEN_NODE ENTITY_REFERENCE_NODE
1400  syntax keyword typescriptDOMNodeType contained ENTITY_NODE PROCESSING_INSTRUCTION_NODEN_NODE
1401  syntax keyword typescriptDOMNodeType contained COMMENT_NODE DOCUMENT_NODE DOCUMENT_TYPE_NODE
1402  syntax keyword typescriptDOMNodeType contained DOCUMENT_FRAGMENT_NODE NOTATION_NODE
1403  hi def link typescriptDOMNodeType Keyword
1404
1405  syntax keyword typescriptDOMElemAttrs contained accessKey clientHeight clientLeft
1406  syntax keyword typescriptDOMElemAttrs contained clientTop clientWidth id innerHTML
1407  syntax keyword typescriptDOMElemAttrs contained length onafterscriptexecute onbeforescriptexecute
1408  syntax keyword typescriptDOMElemAttrs contained oncopy oncut onpaste onwheel scrollHeight
1409  syntax keyword typescriptDOMElemAttrs contained scrollLeft scrollTop scrollWidth tagName
1410  syntax keyword typescriptDOMElemAttrs contained classList className name outerHTML
1411  syntax keyword typescriptDOMElemAttrs contained style
1412  hi def link typescriptDOMElemAttrs Keyword
1413  syntax keyword typescriptDOMElemFuncs contained getAttributeNS getAttributeNode getAttributeNodeNS
1414  syntax keyword typescriptDOMElemFuncs contained getBoundingClientRect getClientRects
1415  syntax keyword typescriptDOMElemFuncs contained getElementsByClassName getElementsByTagName
1416  syntax keyword typescriptDOMElemFuncs contained getElementsByTagNameNS hasAttribute
1417  syntax keyword typescriptDOMElemFuncs contained hasAttributeNS insertAdjacentHTML
1418  syntax keyword typescriptDOMElemFuncs contained matches querySelector querySelectorAll
1419  syntax keyword typescriptDOMElemFuncs contained removeAttribute removeAttributeNS
1420  syntax keyword typescriptDOMElemFuncs contained removeAttributeNode requestFullscreen
1421  syntax keyword typescriptDOMElemFuncs contained requestPointerLock scrollIntoView
1422  syntax keyword typescriptDOMElemFuncs contained setAttribute setAttributeNS setAttributeNode
1423  syntax keyword typescriptDOMElemFuncs contained setAttributeNodeNS setCapture supports
1424  syntax keyword typescriptDOMElemFuncs contained getAttribute
1425  hi def link typescriptDOMElemFuncs Keyword
1426
1427  syntax keyword typescriptDOMDocProp contained activeElement body cookie defaultView
1428  syntax keyword typescriptDOMDocProp contained designMode dir domain embeds forms head
1429  syntax keyword typescriptDOMDocProp contained images lastModified links location plugins
1430  syntax keyword typescriptDOMDocProp contained postMessage readyState referrer registerElement
1431  syntax keyword typescriptDOMDocProp contained scripts styleSheets title vlinkColor
1432  syntax keyword typescriptDOMDocProp contained xmlEncoding characterSet compatMode
1433  syntax keyword typescriptDOMDocProp contained contentType currentScript doctype documentElement
1434  syntax keyword typescriptDOMDocProp contained documentURI documentURIObject firstChild
1435  syntax keyword typescriptDOMDocProp contained implementation lastStyleSheetSet namespaceURI
1436  syntax keyword typescriptDOMDocProp contained nodePrincipal ononline pointerLockElement
1437  syntax keyword typescriptDOMDocProp contained popupNode preferredStyleSheetSet selectedStyleSheetSet
1438  syntax keyword typescriptDOMDocProp contained styleSheetSets textContent tooltipNode
1439  syntax cluster props add=typescriptDOMDocProp
1440  hi def link typescriptDOMDocProp Keyword
1441  syntax keyword typescriptDOMDocMethod contained caretPositionFromPoint close createNodeIterator nextgroup=typescriptFuncCallArg
1442  syntax keyword typescriptDOMDocMethod contained createRange createTreeWalker elementFromPoint nextgroup=typescriptFuncCallArg
1443  syntax keyword typescriptDOMDocMethod contained getElementsByName adoptNode createAttribute nextgroup=typescriptFuncCallArg
1444  syntax keyword typescriptDOMDocMethod contained createCDATASection createComment createDocumentFragment nextgroup=typescriptFuncCallArg
1445  syntax keyword typescriptDOMDocMethod contained createElement createElementNS createEvent nextgroup=typescriptFuncCallArg
1446  syntax keyword typescriptDOMDocMethod contained createExpression createNSResolver nextgroup=typescriptFuncCallArg
1447  syntax keyword typescriptDOMDocMethod contained createProcessingInstruction createTextNode nextgroup=typescriptFuncCallArg
1448  syntax keyword typescriptDOMDocMethod contained enableStyleSheetsForSet evaluate execCommand nextgroup=typescriptFuncCallArg
1449  syntax keyword typescriptDOMDocMethod contained exitPointerLock getBoxObjectFor getElementById nextgroup=typescriptFuncCallArg
1450  syntax keyword typescriptDOMDocMethod contained getElementsByClassName getElementsByTagName nextgroup=typescriptFuncCallArg
1451  syntax keyword typescriptDOMDocMethod contained getElementsByTagNameNS getSelection nextgroup=typescriptFuncCallArg
1452  syntax keyword typescriptDOMDocMethod contained hasFocus importNode loadOverlay open nextgroup=typescriptFuncCallArg
1453  syntax keyword typescriptDOMDocMethod contained queryCommandSupported querySelector nextgroup=typescriptFuncCallArg
1454  syntax keyword typescriptDOMDocMethod contained querySelectorAll write writeln nextgroup=typescriptFuncCallArg
1455  syntax cluster props add=typescriptDOMDocMethod
1456  hi def link typescriptDOMDocMethod Keyword
1457
1458  syntax keyword typescriptDOMEventTargetMethod contained addEventListener removeEventListener nextgroup=typescriptEventFuncCallArg
1459  syntax keyword typescriptDOMEventTargetMethod contained dispatchEvent waitUntil nextgroup=typescriptEventFuncCallArg
1460  syntax cluster props add=typescriptDOMEventTargetMethod
1461  hi def link typescriptDOMEventTargetMethod Keyword
1462  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AnimationEvent
1463  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName AudioProcessingEvent
1464  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeInputEvent
1465  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BeforeUnloadEvent
1466  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName BlobEvent
1467  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ClipboardEvent
1468  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CloseEvent
1469  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CompositionEvent
1470  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CSSFontFaceLoadEvent
1471  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName CustomEvent
1472  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceLightEvent
1473  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceMotionEvent
1474  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceOrientationEvent
1475  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DeviceProximityEvent
1476  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DOMTransactionEvent
1477  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName DragEvent
1478  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName EditingBeforeInputEvent
1479  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ErrorEvent
1480  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName FocusEvent
1481  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName GamepadEvent
1482  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName HashChangeEvent
1483  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName IDBVersionChangeEvent
1484  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName KeyboardEvent
1485  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MediaStreamEvent
1486  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MessageEvent
1487  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MouseEvent
1488  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName MutationEvent
1489  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName OfflineAudioCompletionEvent
1490  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PageTransitionEvent
1491  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PointerEvent
1492  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName PopStateEvent
1493  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName ProgressEvent
1494  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RelatedEvent
1495  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName RTCPeerConnectionIceEvent
1496  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SensorEvent
1497  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName StorageEvent
1498  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGEvent
1499  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName SVGZoomEvent
1500  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TimeEvent
1501  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TouchEvent
1502  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TrackEvent
1503  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName TransitionEvent
1504  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UIEvent
1505  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName UserProximityEvent
1506  syntax keyword typescriptDOMEventCons containedin=typescriptIdentifierName WheelEvent
1507  hi def link typescriptDOMEventCons Structure
1508  syntax keyword typescriptDOMEventProp contained bubbles cancelable currentTarget defaultPrevented
1509  syntax keyword typescriptDOMEventProp contained eventPhase target timeStamp type isTrusted
1510  syntax keyword typescriptDOMEventProp contained isReload
1511  syntax cluster props add=typescriptDOMEventProp
1512  hi def link typescriptDOMEventProp Keyword
1513  syntax keyword typescriptDOMEventMethod contained initEvent preventDefault stopImmediatePropagation nextgroup=typescriptEventFuncCallArg
1514  syntax keyword typescriptDOMEventMethod contained stopPropagation respondWith default nextgroup=typescriptEventFuncCallArg
1515  syntax cluster props add=typescriptDOMEventMethod
1516  hi def link typescriptDOMEventMethod Keyword
1517
1518  syntax keyword typescriptDOMStorage contained sessionStorage localStorage
1519  hi def link typescriptDOMStorage Keyword
1520  syntax keyword typescriptDOMStorageProp contained length
1521  syntax cluster props add=typescriptDOMStorageProp
1522  hi def link typescriptDOMStorageProp Keyword
1523  syntax keyword typescriptDOMStorageMethod contained getItem key setItem removeItem nextgroup=typescriptFuncCallArg
1524  syntax keyword typescriptDOMStorageMethod contained clear nextgroup=typescriptFuncCallArg
1525  syntax cluster props add=typescriptDOMStorageMethod
1526  hi def link typescriptDOMStorageMethod Keyword
1527
1528  syntax keyword typescriptDOMFormProp contained acceptCharset action elements encoding
1529  syntax keyword typescriptDOMFormProp contained enctype length method name target
1530  syntax cluster props add=typescriptDOMFormProp
1531  hi def link typescriptDOMFormProp Keyword
1532  syntax keyword typescriptDOMFormMethod contained reportValidity reset submit nextgroup=typescriptFuncCallArg
1533  syntax cluster props add=typescriptDOMFormMethod
1534  hi def link typescriptDOMFormMethod Keyword
1535
1536  syntax keyword typescriptDOMStyle contained alignContent alignItems alignSelf animation
1537  syntax keyword typescriptDOMStyle contained animationDelay animationDirection animationDuration
1538  syntax keyword typescriptDOMStyle contained animationFillMode animationIterationCount
1539  syntax keyword typescriptDOMStyle contained animationName animationPlayState animationTimingFunction
1540  syntax keyword typescriptDOMStyle contained appearance backfaceVisibility background
1541  syntax keyword typescriptDOMStyle contained backgroundAttachment backgroundBlendMode
1542  syntax keyword typescriptDOMStyle contained backgroundClip backgroundColor backgroundImage
1543  syntax keyword typescriptDOMStyle contained backgroundOrigin backgroundPosition backgroundRepeat
1544  syntax keyword typescriptDOMStyle contained backgroundSize border borderBottom borderBottomColor
1545  syntax keyword typescriptDOMStyle contained borderBottomLeftRadius borderBottomRightRadius
1546  syntax keyword typescriptDOMStyle contained borderBottomStyle borderBottomWidth borderCollapse
1547  syntax keyword typescriptDOMStyle contained borderColor borderImage borderImageOutset
1548  syntax keyword typescriptDOMStyle contained borderImageRepeat borderImageSlice borderImageSource
1549  syntax keyword typescriptDOMStyle contained borderImageWidth borderLeft borderLeftColor
1550  syntax keyword typescriptDOMStyle contained borderLeftStyle borderLeftWidth borderRadius
1551  syntax keyword typescriptDOMStyle contained borderRight borderRightColor borderRightStyle
1552  syntax keyword typescriptDOMStyle contained borderRightWidth borderSpacing borderStyle
1553  syntax keyword typescriptDOMStyle contained borderTop borderTopColor borderTopLeftRadius
1554  syntax keyword typescriptDOMStyle contained borderTopRightRadius borderTopStyle borderTopWidth
1555  syntax keyword typescriptDOMStyle contained borderWidth bottom boxDecorationBreak
1556  syntax keyword typescriptDOMStyle contained boxShadow boxSizing breakAfter breakBefore
1557  syntax keyword typescriptDOMStyle contained breakInside captionSide caretColor caretShape
1558  syntax keyword typescriptDOMStyle contained caret clear clip clipPath color columns
1559  syntax keyword typescriptDOMStyle contained columnCount columnFill columnGap columnRule
1560  syntax keyword typescriptDOMStyle contained columnRuleColor columnRuleStyle columnRuleWidth
1561  syntax keyword typescriptDOMStyle contained columnSpan columnWidth content counterIncrement
1562  syntax keyword typescriptDOMStyle contained counterReset cursor direction display
1563  syntax keyword typescriptDOMStyle contained emptyCells flex flexBasis flexDirection
1564  syntax keyword typescriptDOMStyle contained flexFlow flexGrow flexShrink flexWrap
1565  syntax keyword typescriptDOMStyle contained float font fontFamily fontFeatureSettings
1566  syntax keyword typescriptDOMStyle contained fontKerning fontLanguageOverride fontSize
1567  syntax keyword typescriptDOMStyle contained fontSizeAdjust fontStretch fontStyle fontSynthesis
1568  syntax keyword typescriptDOMStyle contained fontVariant fontVariantAlternates fontVariantCaps
1569  syntax keyword typescriptDOMStyle contained fontVariantEastAsian fontVariantLigatures
1570  syntax keyword typescriptDOMStyle contained fontVariantNumeric fontVariantPosition
1571  syntax keyword typescriptDOMStyle contained fontWeight grad grid gridArea gridAutoColumns
1572  syntax keyword typescriptDOMStyle contained gridAutoFlow gridAutoPosition gridAutoRows
1573  syntax keyword typescriptDOMStyle contained gridColumn gridColumnStart gridColumnEnd
1574  syntax keyword typescriptDOMStyle contained gridRow gridRowStart gridRowEnd gridTemplate
1575  syntax keyword typescriptDOMStyle contained gridTemplateAreas gridTemplateRows gridTemplateColumns
1576  syntax keyword typescriptDOMStyle contained height hyphens imageRendering imageResolution
1577  syntax keyword typescriptDOMStyle contained imageOrientation imeMode inherit justifyContent
1578  syntax keyword typescriptDOMStyle contained left letterSpacing lineBreak lineHeight
1579  syntax keyword typescriptDOMStyle contained listStyle listStyleImage listStylePosition
1580  syntax keyword typescriptDOMStyle contained listStyleType margin marginBottom marginLeft
1581  syntax keyword typescriptDOMStyle contained marginRight marginTop marks mask maskType
1582  syntax keyword typescriptDOMStyle contained maxHeight maxWidth minHeight minWidth
1583  syntax keyword typescriptDOMStyle contained mixBlendMode objectFit objectPosition
1584  syntax keyword typescriptDOMStyle contained opacity order orphans outline outlineColor
1585  syntax keyword typescriptDOMStyle contained outlineOffset outlineStyle outlineWidth
1586  syntax keyword typescriptDOMStyle contained overflow overflowWrap overflowX overflowY
1587  syntax keyword typescriptDOMStyle contained overflowClipBox padding paddingBottom
1588  syntax keyword typescriptDOMStyle contained paddingLeft paddingRight paddingTop pageBreakAfter
1589  syntax keyword typescriptDOMStyle contained pageBreakBefore pageBreakInside perspective
1590  syntax keyword typescriptDOMStyle contained perspectiveOrigin pointerEvents position
1591  syntax keyword typescriptDOMStyle contained quotes resize right shapeImageThreshold
1592  syntax keyword typescriptDOMStyle contained shapeMargin shapeOutside tableLayout tabSize
1593  syntax keyword typescriptDOMStyle contained textAlign textAlignLast textCombineHorizontal
1594  syntax keyword typescriptDOMStyle contained textDecoration textDecorationColor textDecorationLine
1595  syntax keyword typescriptDOMStyle contained textDecorationStyle textIndent textOrientation
1596  syntax keyword typescriptDOMStyle contained textOverflow textRendering textShadow
1597  syntax keyword typescriptDOMStyle contained textTransform textUnderlinePosition top
1598  syntax keyword typescriptDOMStyle contained touchAction transform transformOrigin
1599  syntax keyword typescriptDOMStyle contained transformStyle transition transitionDelay
1600  syntax keyword typescriptDOMStyle contained transitionDuration transitionProperty
1601  syntax keyword typescriptDOMStyle contained transitionTimingFunction unicodeBidi unicodeRange
1602  syntax keyword typescriptDOMStyle contained userSelect userZoom verticalAlign visibility
1603  syntax keyword typescriptDOMStyle contained whiteSpace width willChange wordBreak
1604  syntax keyword typescriptDOMStyle contained wordSpacing wordWrap writingMode zIndex
1605  hi def link typescriptDOMStyle Keyword
1606
1607
1608
1609  let typescript_props = 1
1610  syntax keyword typescriptAnimationEvent contained animationend animationiteration
1611  syntax keyword typescriptAnimationEvent contained animationstart beginEvent endEvent
1612  syntax keyword typescriptAnimationEvent contained repeatEvent
1613  syntax cluster events add=typescriptAnimationEvent
1614  hi def link typescriptAnimationEvent Title
1615  syntax keyword typescriptCSSEvent contained CssRuleViewRefreshed CssRuleViewChanged
1616  syntax keyword typescriptCSSEvent contained CssRuleViewCSSLinkClicked transitionend
1617  syntax cluster events add=typescriptCSSEvent
1618  hi def link typescriptCSSEvent Title
1619  syntax keyword typescriptDatabaseEvent contained blocked complete error success upgradeneeded
1620  syntax keyword typescriptDatabaseEvent contained versionchange
1621  syntax cluster events add=typescriptDatabaseEvent
1622  hi def link typescriptDatabaseEvent Title
1623  syntax keyword typescriptDocumentEvent contained DOMLinkAdded DOMLinkRemoved DOMMetaAdded
1624  syntax keyword typescriptDocumentEvent contained DOMMetaRemoved DOMWillOpenModalDialog
1625  syntax keyword typescriptDocumentEvent contained DOMModalDialogClosed unload
1626  syntax cluster events add=typescriptDocumentEvent
1627  hi def link typescriptDocumentEvent Title
1628  syntax keyword typescriptDOMMutationEvent contained DOMAttributeNameChanged DOMAttrModified
1629  syntax keyword typescriptDOMMutationEvent contained DOMCharacterDataModified DOMContentLoaded
1630  syntax keyword typescriptDOMMutationEvent contained DOMElementNameChanged DOMNodeInserted
1631  syntax keyword typescriptDOMMutationEvent contained DOMNodeInsertedIntoDocument DOMNodeRemoved
1632  syntax keyword typescriptDOMMutationEvent contained DOMNodeRemovedFromDocument DOMSubtreeModified
1633  syntax cluster events add=typescriptDOMMutationEvent
1634  hi def link typescriptDOMMutationEvent Title
1635  syntax keyword typescriptDragEvent contained drag dragdrop dragend dragenter dragexit
1636  syntax keyword typescriptDragEvent contained draggesture dragleave dragover dragstart
1637  syntax keyword typescriptDragEvent contained drop
1638  syntax cluster events add=typescriptDragEvent
1639  hi def link typescriptDragEvent Title
1640  syntax keyword typescriptElementEvent contained invalid overflow underflow DOMAutoComplete
1641  syntax keyword typescriptElementEvent contained command commandupdate
1642  syntax cluster events add=typescriptElementEvent
1643  hi def link typescriptElementEvent Title
1644  syntax keyword typescriptFocusEvent contained blur change DOMFocusIn DOMFocusOut focus
1645  syntax keyword typescriptFocusEvent contained focusin focusout
1646  syntax cluster events add=typescriptFocusEvent
1647  hi def link typescriptFocusEvent Title
1648  syntax keyword typescriptFormEvent contained reset submit
1649  syntax cluster events add=typescriptFormEvent
1650  hi def link typescriptFormEvent Title
1651  syntax keyword typescriptFrameEvent contained DOMFrameContentLoaded
1652  syntax cluster events add=typescriptFrameEvent
1653  hi def link typescriptFrameEvent Title
1654  syntax keyword typescriptInputDeviceEvent contained click contextmenu DOMMouseScroll
1655  syntax keyword typescriptInputDeviceEvent contained dblclick gamepadconnected gamepaddisconnected
1656  syntax keyword typescriptInputDeviceEvent contained keydown keypress keyup MozGamepadButtonDown
1657  syntax keyword typescriptInputDeviceEvent contained MozGamepadButtonUp mousedown mouseenter
1658  syntax keyword typescriptInputDeviceEvent contained mouseleave mousemove mouseout
1659  syntax keyword typescriptInputDeviceEvent contained mouseover mouseup mousewheel MozMousePixelScroll
1660  syntax keyword typescriptInputDeviceEvent contained pointerlockchange pointerlockerror
1661  syntax keyword typescriptInputDeviceEvent contained wheel
1662  syntax cluster events add=typescriptInputDeviceEvent
1663  hi def link typescriptInputDeviceEvent Title
1664  syntax keyword typescriptMediaEvent contained audioprocess canplay canplaythrough
1665  syntax keyword typescriptMediaEvent contained durationchange emptied ended ended loadeddata
1666  syntax keyword typescriptMediaEvent contained loadedmetadata MozAudioAvailable pause
1667  syntax keyword typescriptMediaEvent contained play playing ratechange seeked seeking
1668  syntax keyword typescriptMediaEvent contained stalled suspend timeupdate volumechange
1669  syntax keyword typescriptMediaEvent contained waiting complete
1670  syntax cluster events add=typescriptMediaEvent
1671  hi def link typescriptMediaEvent Title
1672  syntax keyword typescriptMenuEvent contained DOMMenuItemActive DOMMenuItemInactive
1673  syntax cluster events add=typescriptMenuEvent
1674  hi def link typescriptMenuEvent Title
1675  syntax keyword typescriptNetworkEvent contained datachange dataerror disabled enabled
1676  syntax keyword typescriptNetworkEvent contained offline online statuschange connectionInfoUpdate
1677  syntax cluster events add=typescriptNetworkEvent
1678  hi def link typescriptNetworkEvent Title
1679  syntax keyword typescriptProgressEvent contained abort error load loadend loadstart
1680  syntax keyword typescriptProgressEvent contained progress timeout uploadprogress
1681  syntax cluster events add=typescriptProgressEvent
1682  hi def link typescriptProgressEvent Title
1683  syntax keyword typescriptResourceEvent contained cached error load
1684  syntax cluster events add=typescriptResourceEvent
1685  hi def link typescriptResourceEvent Title
1686  syntax keyword typescriptScriptEvent contained afterscriptexecute beforescriptexecute
1687  syntax cluster events add=typescriptScriptEvent
1688  hi def link typescriptScriptEvent Title
1689  syntax keyword typescriptSensorEvent contained compassneedscalibration devicelight
1690  syntax keyword typescriptSensorEvent contained devicemotion deviceorientation deviceproximity
1691  syntax keyword typescriptSensorEvent contained orientationchange userproximity
1692  syntax cluster events add=typescriptSensorEvent
1693  hi def link typescriptSensorEvent Title
1694  syntax keyword typescriptSessionHistoryEvent contained pagehide pageshow popstate
1695  syntax cluster events add=typescriptSessionHistoryEvent
1696  hi def link typescriptSessionHistoryEvent Title
1697  syntax keyword typescriptStorageEvent contained change storage
1698  syntax cluster events add=typescriptStorageEvent
1699  hi def link typescriptStorageEvent Title
1700  syntax keyword typescriptSVGEvent contained SVGAbort SVGError SVGLoad SVGResize SVGScroll
1701  syntax keyword typescriptSVGEvent contained SVGUnload SVGZoom
1702  syntax cluster events add=typescriptSVGEvent
1703  hi def link typescriptSVGEvent Title
1704  syntax keyword typescriptTabEvent contained visibilitychange
1705  syntax cluster events add=typescriptTabEvent
1706  hi def link typescriptTabEvent Title
1707  syntax keyword typescriptTextEvent contained compositionend compositionstart compositionupdate
1708  syntax keyword typescriptTextEvent contained copy cut paste select text
1709  syntax cluster events add=typescriptTextEvent
1710  hi def link typescriptTextEvent Title
1711  syntax keyword typescriptTouchEvent contained touchcancel touchend touchenter touchleave
1712  syntax keyword typescriptTouchEvent contained touchmove touchstart
1713  syntax cluster events add=typescriptTouchEvent
1714  hi def link typescriptTouchEvent Title
1715  syntax keyword typescriptUpdateEvent contained checking downloading error noupdate
1716  syntax keyword typescriptUpdateEvent contained obsolete updateready
1717  syntax cluster events add=typescriptUpdateEvent
1718  hi def link typescriptUpdateEvent Title
1719  syntax keyword typescriptValueChangeEvent contained hashchange input readystatechange
1720  syntax cluster events add=typescriptValueChangeEvent
1721  hi def link typescriptValueChangeEvent Title
1722  syntax keyword typescriptViewEvent contained fullscreen fullscreenchange fullscreenerror
1723  syntax keyword typescriptViewEvent contained resize scroll
1724  syntax cluster events add=typescriptViewEvent
1725  hi def link typescriptViewEvent Title
1726  syntax keyword typescriptWebsocketEvent contained close error message open
1727  syntax cluster events add=typescriptWebsocketEvent
1728  hi def link typescriptWebsocketEvent Title
1729  syntax keyword typescriptWindowEvent contained DOMWindowCreated DOMWindowClose DOMTitleChanged
1730  syntax cluster events add=typescriptWindowEvent
1731  hi def link typescriptWindowEvent Title
1732  syntax keyword typescriptUncategorizedEvent contained beforeunload message open show
1733  syntax cluster events add=typescriptUncategorizedEvent
1734  hi def link typescriptUncategorizedEvent Title
1735  syntax keyword typescriptServiceWorkerEvent contained install activate fetch
1736  syntax cluster events add=typescriptServiceWorkerEvent
1737  hi def link typescriptServiceWorkerEvent Title
1738
1739
1740endif
1741
1742" patch
1743" patch for generated code
1744syntax keyword typescriptGlobal Promise
1745  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
1746syntax keyword typescriptGlobal Map WeakMap
1747  \ nextgroup=typescriptGlobalPromiseDot,typescriptFuncCallArg,typescriptTypeArguments oneline
1748
1749syntax keyword typescriptConstructor           contained constructor
1750  \ nextgroup=@typescriptCallSignature
1751  \ skipwhite skipempty
1752
1753
1754syntax cluster memberNextGroup contains=typescriptMemberOptionality,typescriptTypeAnnotation,@typescriptCallSignature
1755
1756syntax match typescriptMember /#\?\K\k*/
1757  \ nextgroup=@memberNextGroup
1758  \ contained skipwhite
1759
1760syntax match typescriptMethodAccessor contained /\v(get|set)\s\K/me=e-1
1761  \ nextgroup=@typescriptMembers
1762
1763syntax cluster typescriptPropertyMemberDeclaration contains=
1764  \ typescriptClassStatic,
1765  \ typescriptAccessibilityModifier,
1766  \ typescriptReadonlyModifier,
1767  \ typescriptMethodAccessor,
1768  \ @typescriptMembers
1769  " \ typescriptMemberVariableDeclaration
1770
1771syntax match typescriptMemberOptionality /?\|!/ contained
1772  \ nextgroup=typescriptTypeAnnotation,@typescriptCallSignature
1773  \ skipwhite skipempty
1774
1775syntax cluster typescriptMembers contains=typescriptMember,typescriptStringMember,typescriptComputedMember
1776
1777syntax keyword typescriptClassStatic static
1778  \ nextgroup=@typescriptMembers,typescriptAsyncFuncKeyword,typescriptReadonlyModifier
1779  \ skipwhite contained
1780
1781syntax keyword typescriptAccessibilityModifier public private protected contained
1782
1783syntax keyword typescriptReadonlyModifier readonly contained
1784
1785syntax region  typescriptStringMember   contained
1786  \ start=/\z(["']\)/  skip=/\\\\\|\\\z1\|\\\n/  end=/\z1/
1787  \ nextgroup=@memberNextGroup
1788  \ skipwhite skipempty
1789
1790syntax region  typescriptComputedMember   contained matchgroup=typescriptProperty
1791  \ start=/\[/rs=s+1 end=/]/
1792  \ contains=@typescriptValue,typescriptMember,typescriptMappedIn
1793  \ nextgroup=@memberNextGroup
1794  \ skipwhite skipempty
1795
1796"don't add typescriptMembers to nextgroup, let outer scope match it
1797" so we won't match abstract method outside abstract class
1798syntax keyword typescriptAbstract              abstract
1799  \ nextgroup=typescriptClassKeyword
1800  \ skipwhite skipnl
1801syntax keyword typescriptClassKeyword          class
1802  \ nextgroup=typescriptClassName,typescriptClassExtends,typescriptClassBlock
1803  \ skipwhite
1804
1805syntax match   typescriptClassName             contained /\K\k*/
1806  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptClassTypeParameter
1807  \ skipwhite skipnl
1808
1809syntax region typescriptClassTypeParameter
1810  \ start=/</ end=/>/
1811  \ contains=@typescriptTypeParameterCluster
1812  \ nextgroup=typescriptClassBlock,typescriptClassExtends
1813  \ contained skipwhite skipnl
1814
1815syntax keyword typescriptClassExtends          contained extends implements nextgroup=typescriptClassHeritage skipwhite skipnl
1816
1817syntax match   typescriptClassHeritage         contained /\v(\k|\.|\(|\))+/
1818  \ nextgroup=typescriptClassBlock,typescriptClassExtends,typescriptMixinComma,typescriptClassTypeArguments
1819  \ contains=@typescriptValue
1820  \ skipwhite skipnl
1821  \ contained
1822
1823syntax region typescriptClassTypeArguments matchgroup=typescriptTypeBrackets
1824  \ start=/</ end=/>/
1825  \ contains=@typescriptType
1826  \ nextgroup=typescriptClassExtends,typescriptClassBlock,typescriptMixinComma
1827  \ contained skipwhite skipnl
1828
1829syntax match typescriptMixinComma /,/ contained nextgroup=typescriptClassHeritage skipwhite skipnl
1830
1831" we need add arrowFunc to class block for high order arrow func
1832" see test case
1833syntax region  typescriptClassBlock matchgroup=typescriptBraces start=/{/ end=/}/
1834  \ contains=@typescriptPropertyMemberDeclaration,typescriptAbstract,@typescriptComments,typescriptBlock,typescriptAssign,typescriptDecorator,typescriptAsyncFuncKeyword,typescriptArrowFunc
1835  \ contained fold
1836
1837syntax keyword typescriptInterfaceKeyword          interface nextgroup=typescriptInterfaceName skipwhite
1838syntax match   typescriptInterfaceName             contained /\k\+/
1839  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends,typescriptInterfaceTypeParameter
1840  \ skipwhite skipnl
1841syntax region typescriptInterfaceTypeParameter
1842  \ start=/</ end=/>/
1843  \ contains=@typescriptTypeParameterCluster
1844  \ nextgroup=typescriptObjectType,typescriptInterfaceExtends
1845  \ contained
1846  \ skipwhite skipnl
1847
1848syntax keyword typescriptInterfaceExtends          contained extends nextgroup=typescriptInterfaceHeritage skipwhite skipnl
1849
1850syntax match typescriptInterfaceHeritage contained /\v(\k|\.)+/
1851  \ nextgroup=typescriptObjectType,typescriptInterfaceComma,typescriptInterfaceTypeArguments
1852  \ skipwhite
1853
1854syntax region typescriptInterfaceTypeArguments matchgroup=typescriptTypeBrackets
1855  \ start=/</ end=/>/ skip=/\s*,\s*/
1856  \ contains=@typescriptType
1857  \ nextgroup=typescriptObjectType,typescriptInterfaceComma
1858  \ contained skipwhite
1859
1860syntax match typescriptInterfaceComma /,/ contained nextgroup=typescriptInterfaceHeritage skipwhite skipnl
1861
1862"Block VariableStatement EmptyStatement ExpressionStatement IfStatement IterationStatement ContinueStatement BreakStatement ReturnStatement WithStatement LabelledStatement SwitchStatement ThrowStatement TryStatement DebuggerStatement
1863syntax cluster typescriptStatement
1864  \ contains=typescriptBlock,typescriptVariable,
1865  \ @typescriptTopExpression,typescriptAssign,
1866  \ typescriptConditional,typescriptRepeat,typescriptBranch,
1867  \ typescriptLabel,typescriptStatementKeyword,
1868  \ typescriptFuncKeyword,
1869  \ typescriptTry,typescriptExceptions,typescriptDebugger,
1870  \ typescriptExport,typescriptInterfaceKeyword,typescriptEnum,
1871  \ typescriptModule,typescriptAliasKeyword,typescriptImport
1872
1873syntax cluster typescriptPrimitive  contains=typescriptString,typescriptTemplate,typescriptRegexpString,typescriptNumber,typescriptBoolean,typescriptNull,typescriptArray
1874
1875syntax cluster typescriptEventTypes            contains=typescriptEventString,typescriptTemplate,typescriptNumber,typescriptBoolean,typescriptNull
1876
1877" top level expression: no arrow func
1878" also no func keyword. funcKeyword is contained in statement
1879" funcKeyword allows overloading (func without body)
1880" funcImpl requires body
1881syntax cluster typescriptTopExpression
1882  \ contains=@typescriptPrimitive,
1883  \ typescriptIdentifier,typescriptIdentifierName,
1884  \ typescriptOperator,typescriptUnaryOp,
1885  \ typescriptParenExp,typescriptRegexpString,
1886  \ typescriptGlobal,typescriptAsyncFuncKeyword,
1887  \ typescriptClassKeyword,typescriptTypeCast
1888
1889" no object literal, used in type cast and arrow func
1890" TODO: change func keyword to funcImpl
1891syntax cluster typescriptExpression
1892  \ contains=@typescriptTopExpression,
1893  \ typescriptArrowFuncDef,
1894  \ typescriptFuncImpl
1895
1896syntax cluster typescriptValue
1897  \ contains=@typescriptExpression,typescriptObjectLiteral
1898
1899syntax cluster typescriptEventExpression       contains=typescriptArrowFuncDef,typescriptParenExp,@typescriptValue,typescriptRegexpString,@typescriptEventTypes,typescriptOperator,typescriptGlobal,jsxRegion
1900
1901syntax keyword typescriptAsyncFuncKeyword      async
1902  \ nextgroup=typescriptFuncKeyword,typescriptArrowFuncDef
1903  \ skipwhite
1904
1905syntax keyword typescriptAsyncFuncKeyword      await
1906  \ nextgroup=@typescriptValue
1907  \ skipwhite
1908
1909syntax keyword typescriptFuncKeyword           function
1910  \ nextgroup=typescriptAsyncFunc,typescriptFuncName,@typescriptCallSignature
1911  \ skipwhite skipempty
1912
1913syntax match   typescriptAsyncFunc             contained /*/
1914  \ nextgroup=typescriptFuncName,@typescriptCallSignature
1915  \ skipwhite skipempty
1916
1917syntax match   typescriptFuncName              contained /\K\k*/
1918  \ nextgroup=@typescriptCallSignature
1919  \ skipwhite
1920
1921" destructuring ({ a: ee }) =>
1922syntax match   typescriptArrowFuncDef          contained /(\(\s*\({\_[^}]*}\|\k\+\)\(:\_[^)]\)\?,\?\)\+)\s*=>/
1923  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
1924  \ nextgroup=@typescriptExpression,typescriptBlock
1925  \ skipwhite skipempty
1926
1927" matches `(a) =>` or `([a]) =>` or
1928" `(
1929"  a) =>`
1930syntax match   typescriptArrowFuncDef          contained /(\(\_s*[a-zA-Z\$_\[.]\_[^)]*\)*)\s*=>/
1931  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
1932  \ nextgroup=@typescriptExpression,typescriptBlock
1933  \ skipwhite skipempty
1934
1935syntax match   typescriptArrowFuncDef          contained /\K\k*\s*=>/
1936  \ contains=typescriptArrowFuncArg,typescriptArrowFunc
1937  \ nextgroup=@typescriptExpression,typescriptBlock
1938  \ skipwhite skipempty
1939
1940" TODO: optimize this pattern
1941syntax region   typescriptArrowFuncDef          contained start=/(\_[^(^)]*):/ end=/=>/
1942  \ contains=typescriptArrowFuncArg,typescriptArrowFunc,typescriptTypeAnnotation
1943  \ nextgroup=@typescriptExpression,typescriptBlock
1944  \ skipwhite skipempty keepend
1945
1946syntax match   typescriptArrowFunc             /=>/
1947syntax match   typescriptArrowFuncArg          contained /\K\k*/
1948syntax region  typescriptArrowFuncArg          contained start=/<\|(/ end=/\ze=>/ contains=@typescriptCallSignature
1949
1950syntax region typescriptReturnAnnotation contained start=/:/ end=/{/me=e-1 contains=@typescriptType nextgroup=typescriptBlock
1951
1952
1953syntax region typescriptFuncImpl contained start=/function\>/ end=/{/me=e-1
1954  \ contains=typescriptFuncKeyword
1955  \ nextgroup=typescriptBlock
1956
1957syntax cluster typescriptCallImpl contains=typescriptGenericImpl,typescriptParamImpl
1958syntax region typescriptGenericImpl matchgroup=typescriptTypeBrackets
1959  \ start=/</ end=/>/ skip=/\s*,\s*/
1960  \ contains=typescriptTypeParameter
1961  \ nextgroup=typescriptParamImpl
1962  \ contained skipwhite
1963syntax region typescriptParamImpl matchgroup=typescriptParens
1964  \ start=/(/ end=/)/
1965  \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments
1966  \ nextgroup=typescriptReturnAnnotation,typescriptBlock
1967  \ contained skipwhite skipnl
1968
1969syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a-zA-Z0-9]*\>/
1970  \ nextgroup=typescriptFuncCallArg,typescriptTypeArguments
1971  \ contains=@_semantic,typescriptDotNotation
1972
1973" Define the default highlighting.
1974hi def link typescriptReserved             Error
1975
1976hi def link typescriptEndColons            Exception
1977hi def link typescriptSymbols              Normal
1978hi def link typescriptBraces               Function
1979hi def link typescriptParens               Normal
1980hi def link typescriptComment              Comment
1981hi def link typescriptLineComment          Comment
1982hi def link typescriptDocComment           Comment
1983hi def link typescriptCommentTodo          Todo
1984hi def link typescriptMagicComment         SpecialComment
1985hi def link typescriptRef                  Include
1986hi def link typescriptDocNotation          SpecialComment
1987hi def link typescriptDocTags              SpecialComment
1988hi def link typescriptDocNGParam           typescriptDocParam
1989hi def link typescriptDocParam             Function
1990hi def link typescriptDocNumParam          Function
1991hi def link typescriptDocEventRef          Function
1992hi def link typescriptDocNamedParamType    Type
1993hi def link typescriptDocParamName         Type
1994hi def link typescriptDocParamType         Type
1995hi def link typescriptString               String
1996hi def link typescriptSpecial              Special
1997hi def link typescriptStringLiteralType    String
1998hi def link typescriptTemplateLiteralType  String
1999hi def link typescriptStringMember         String
2000hi def link typescriptTemplate             String
2001hi def link typescriptEventString          String
2002hi def link typescriptDestructureString    String
2003hi def link typescriptASCII                Special
2004hi def link typescriptTemplateSB           Label
2005hi def link typescriptRegexpString         String
2006hi def link typescriptGlobal               Constant
2007hi def link typescriptTestGlobal           Function
2008hi def link typescriptPrototype            Type
2009hi def link typescriptConditional          Conditional
2010hi def link typescriptConditionalElse      Conditional
2011hi def link typescriptCase                 Conditional
2012hi def link typescriptDefault              typescriptCase
2013hi def link typescriptBranch               Conditional
2014hi def link typescriptIdentifier           Structure
2015hi def link typescriptVariable             Identifier
2016hi def link typescriptDestructureVariable  PreProc
2017hi def link typescriptEnumKeyword          Identifier
2018hi def link typescriptRepeat               Repeat
2019hi def link typescriptForOperator          Repeat
2020hi def link typescriptStatementKeyword     Statement
2021hi def link typescriptMessage              Keyword
2022hi def link typescriptOperator             Identifier
2023hi def link typescriptKeywordOp            Identifier
2024hi def link typescriptCastKeyword          Special
2025hi def link typescriptType                 Type
2026hi def link typescriptNull                 Boolean
2027hi def link typescriptNumber               Number
2028hi def link typescriptBoolean              Boolean
2029hi def link typescriptObjectLabel          typescriptLabel
2030hi def link typescriptDestructureLabel     Function
2031hi def link typescriptLabel                Label
2032hi def link typescriptTupleLable           Label
2033hi def link typescriptStringProperty       String
2034hi def link typescriptImport               Special
2035hi def link typescriptImportType           Special
2036hi def link typescriptAmbientDeclaration   Special
2037hi def link typescriptExport               Special
2038hi def link typescriptExportType           Special
2039hi def link typescriptModule               Special
2040hi def link typescriptTry                  Special
2041hi def link typescriptExceptions           Special
2042
2043hi def link typescriptMember              Function
2044hi def link typescriptMethodAccessor       Operator
2045
2046hi def link typescriptAsyncFuncKeyword     Keyword
2047hi def link typescriptObjectAsyncKeyword   Keyword
2048hi def link typescriptAsyncFor             Keyword
2049hi def link typescriptFuncKeyword          Keyword
2050hi def link typescriptAsyncFunc            Keyword
2051hi def link typescriptArrowFunc            Type
2052hi def link typescriptFuncName             Function
2053hi def link typescriptFuncArg              PreProc
2054hi def link typescriptArrowFuncArg         PreProc
2055hi def link typescriptFuncComma            Operator
2056
2057hi def link typescriptClassKeyword         Keyword
2058hi def link typescriptClassExtends         Keyword
2059" hi def link typescriptClassName            Function
2060hi def link typescriptAbstract             Special
2061" hi def link typescriptClassHeritage        Function
2062" hi def link typescriptInterfaceHeritage    Function
2063hi def link typescriptClassStatic          StorageClass
2064hi def link typescriptReadonlyModifier     Keyword
2065hi def link typescriptInterfaceKeyword     Keyword
2066hi def link typescriptInterfaceExtends     Keyword
2067hi def link typescriptInterfaceName        Function
2068
2069hi def link shellbang                      Comment
2070
2071hi def link typescriptTypeParameter         Identifier
2072hi def link typescriptConstraint            Keyword
2073hi def link typescriptPredefinedType        Type
2074hi def link typescriptReadonlyArrayKeyword  Keyword
2075hi def link typescriptUnion                 Operator
2076hi def link typescriptFuncTypeArrow         Function
2077hi def link typescriptConstructorType       Function
2078hi def link typescriptTypeQuery             Keyword
2079hi def link typescriptAccessibilityModifier Keyword
2080hi def link typescriptOptionalMark          PreProc
2081hi def link typescriptFuncType              Special
2082hi def link typescriptMappedIn              Special
2083hi def link typescriptCall                  PreProc
2084hi def link typescriptParamImpl             PreProc
2085hi def link typescriptConstructSignature    Identifier
2086hi def link typescriptAliasDeclaration      Identifier
2087hi def link typescriptAliasKeyword          Keyword
2088hi def link typescriptUserDefinedType       Keyword
2089hi def link typescriptTypeReference         Identifier
2090hi def link typescriptConstructor           Keyword
2091hi def link typescriptDecorator             Special
2092hi def link typescriptAssertType            Keyword
2093
2094hi link typeScript             NONE
2095
2096if exists('s:cpo_save')
2097  let &cpo = s:cpo_save
2098  unlet s:cpo_save
2099endif
2100