diff options
Diffstat (limited to 'runtime/syntax/typescriptcommon.vim')
-rw-r--r-- | runtime/syntax/typescriptcommon.vim | 2099 |
1 files changed, 0 insertions, 2099 deletions
diff --git a/runtime/syntax/typescriptcommon.vim b/runtime/syntax/typescriptcommon.vim deleted file mode 100644 index ef362fc721..0000000000 --- a/runtime/syntax/typescriptcommon.vim +++ /dev/null @@ -1,2099 +0,0 @@ -" Vim syntax file -" Language: TypeScript and TypeScriptReact -" Maintainer: Bram Moolenaar, Herrington Darkholme -" Last Change: 2021 Sep 22 -" Based On: Herrington Darkholme's yats.vim -" Changes: See https:github.com/HerringtonDarkholme/yats.vim -" Credits: See yats.vim on github - -if &cpo =~ 'C' - let s:cpo_save = &cpo - set cpo&vim -endif - - -" NOTE: this results in accurate highlighting, but can be slow. -syntax sync fromstart - -"Dollar sign is permitted anywhere in an identifier -setlocal iskeyword-=$ -if main_syntax == 'typescript' || main_syntax == 'typescriptreact' - setlocal iskeyword+=$ - " syntax cluster htmlJavaScript contains=TOP -endif -" For private field added from TypeScript 3.8 -setlocal iskeyword+=# - -" lowest priority on least used feature -syntax match typescriptLabel /[a-zA-Z_$]\k*:/he=e-1 contains=typescriptReserved nextgroup=@typescriptStatement skipwhite skipempty - -" other keywords like return,case,yield uses containedin -syntax region typescriptBlock matchgroup=typescriptBraces start=/{/ end=/}/ contains=@typescriptStatement,@typescriptComments fold -syntax cluster afterIdentifier contains= - \ typescriptDotNotation, - \ typescriptFuncCallArg, - \ typescriptTemplate, - \ typescriptIndexExpr, - \ @typescriptSymbols, - \ typescriptTypeArguments - -syntax match typescriptIdentifierName /\<\K\k*/ - \ nextgroup=@afterIdentifier - \ transparent - \ contains=@_semantic - \ skipnl skipwhite - -syntax match typescriptProp contained /\K\k*!\?/ - \ transparent - \ contains=@props - \ nextgroup=@afterIdentifier - \ skipwhite skipempty - -syntax region typescriptIndexExpr contained matchgroup=typescriptProperty start=/\[/rs=s+1 end=/]/he=e-1 contains=@typescriptValue nextgroup=@typescriptSymbols,typescriptDotNotation,typescriptFuncCallArg skipwhite skipempty - -syntax match typescriptDotNotation /\.\|?\.\|!\./ nextgroup=typescriptProp skipnl -syntax match typescriptDotStyleNotation /\.style\./ nextgroup=typescriptDOMStyle transparent -" syntax match typescriptFuncCall contained /[a-zA-Z]\k*\ze(/ nextgroup=typescriptFuncCallArg -syntax region typescriptParenExp matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptComments,@typescriptValue,typescriptCastKeyword nextgroup=@typescriptSymbols skipwhite skipempty -syntax region typescriptFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptValue,@typescriptComments nextgroup=@typescriptSymbols,typescriptDotNotation skipwhite skipempty skipnl -syntax region typescriptEventFuncCallArg contained matchgroup=typescriptParens start=/(/ end=/)/ contains=@typescriptEventExpression -syntax region typescriptEventString contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/ contains=typescriptASCII,@events - -syntax region typescriptDestructureString - \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/ - \ contains=typescriptASCII - \ nextgroup=typescriptDestructureAs - \ contained skipwhite skipempty - -syntax cluster typescriptVariableDeclarations - \ contains=typescriptVariableDeclaration,@typescriptDestructures - -syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/ - \ nextgroup=typescriptTypeAnnotation,typescriptAssign - \ contained skipwhite skipempty - -syntax cluster typescriptDestructureVariables contains= - \ typescriptRestOrSpread, - \ typescriptDestructureComma, - \ typescriptDestructureLabel, - \ typescriptDestructureVariable, - \ @typescriptDestructures - -syntax match typescriptDestructureVariable /[A-Za-z_$]\k*/ contained - \ nextgroup=typescriptDefaultParam - \ contained skipwhite skipempty - -syntax match typescriptDestructureLabel /[A-Za-z_$]\k*\ze\_s*:/ - \ nextgroup=typescriptDestructureAs - \ contained skipwhite skipempty - -syntax match typescriptDestructureAs /:/ - \ nextgroup=typescriptDestructureVariable,@typescriptDestructures - \ contained skipwhite skipempty - -syntax match typescriptDestructureComma /,/ contained - -syntax cluster typescriptDestructures contains= - \ typescriptArrayDestructure, - \ typescriptObjectDestructure - -syntax region typescriptArrayDestructure matchgroup=typescriptBraces - \ start=/\[/ end=/]/ - \ contains=@typescriptDestructureVariables,@typescriptComments - \ nextgroup=typescriptTypeAnnotation,typescriptAssign - \ transparent contained skipwhite skipempty fold - -syntax region typescriptObjectDestructure matchgroup=typescriptBraces - \ start=/{/ end=/}/ - \ contains=typescriptDestructureString,@typescriptDestructureVariables,@typescriptComments - \ nextgroup=typescriptTypeAnnotation,typescriptAssign - \ transparent contained skipwhite skipempty fold - -"Syntax in the JavaScript code - -" String -syntax match typescriptASCII contained /\\\d\d\d/ - -syntax region typescriptTemplateSubstitution matchgroup=typescriptTemplateSB - \ start=/\${/ end=/}/ - \ contains=@typescriptValue - \ contained - - -syntax region typescriptString - \ start=+\z(["']\)+ skip=+\\\%(\z1\|$\)+ end=+\z1+ end=+$+ - \ contains=typescriptSpecial,@Spell - \ extend - -syntax match typescriptSpecial contained "\v\\%(x\x\x|u%(\x{4}|\{\x{1,6}})|c\u|.)" - -" From vim runtime -" <https://github.com/vim/vim/blob/master/runtime/syntax/javascript.vim#L48> -syntax region typescriptRegexpString start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gimuy]\{0,5\}\s*$+ end=+/[gimuy]\{0,5\}\s*[;.,)\]}:]+me=e-1 nextgroup=typescriptDotNotation oneline - -syntax region typescriptTemplate - \ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/ - \ contains=typescriptTemplateSubstitution,typescriptSpecial,@Spell - \ nextgroup=@typescriptSymbols - \ skipwhite skipempty - -"Array -syntax region typescriptArray matchgroup=typescriptBraces - \ start=/\[/ end=/]/ - \ contains=@typescriptValue,@typescriptComments - \ nextgroup=@typescriptSymbols,typescriptDotNotation - \ skipwhite skipempty fold - -" Number -syntax match typescriptNumber /\<0[bB][01][01_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty -syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty -syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty -syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/ - \ nextgroup=typescriptSymbols skipwhite skipempty - -syntax region typescriptObjectLiteral matchgroup=typescriptBraces - \ start=/{/ end=/}/ - \ contains=@typescriptComments,typescriptObjectLabel,typescriptStringProperty,typescriptComputedPropertyName,typescriptObjectAsyncKeyword - \ fold contained - -syntax keyword typescriptObjectAsyncKeyword async contained - -syntax match typescriptObjectLabel contained /\k\+\_s*/ - \ nextgroup=typescriptObjectColon,@typescriptCallImpl - \ skipwhite skipempty - -syntax region typescriptStringProperty contained - \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1/ - \ nextgroup=typescriptObjectColon,@typescriptCallImpl - \ skipwhite skipempty - -" syntax region typescriptPropertyName contained start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1(/me=e-1 nextgroup=@typescriptCallSignature skipwhite skipempty oneline -syntax region typescriptComputedPropertyName contained matchgroup=typescriptBraces - \ start=/\[/rs=s+1 end=/]/ - \ contains=@typescriptValue - \ nextgroup=typescriptObjectColon,@typescriptCallImpl - \ skipwhite skipempty - -" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*:/he=e-1 contains=@typescriptValue nextgroup=@typescriptValue skipwhite skipempty -" syntax region typescriptComputedPropertyName contained matchgroup=typescriptPropertyName start=/\[/rs=s+1 end=/]\_s*(/me=e-1 contains=@typescriptValue nextgroup=@typescriptCallSignature skipwhite skipempty -" Value for object, statement for label statement -syntax match typescriptRestOrSpread /\.\.\./ contained -syntax match typescriptObjectSpread /\.\.\./ contained containedin=typescriptObjectLiteral,typescriptArray nextgroup=@typescriptValue - -syntax match typescriptObjectColon contained /:/ nextgroup=@typescriptValue skipwhite skipempty - -" + - ^ ~ -syntax match typescriptUnaryOp /[+\-~!]/ - \ nextgroup=@typescriptValue - \ skipwhite - -syntax region typescriptTernary matchgroup=typescriptTernaryOp start=/?[.?]\@!/ end=/:/ contained contains=@typescriptValue,@typescriptComments nextgroup=@typescriptValue skipwhite skipempty - -syntax match typescriptAssign /=/ nextgroup=@typescriptValue - \ skipwhite skipempty - -" 2: ==, === -syntax match typescriptBinaryOp contained /===\?/ nextgroup=@typescriptValue skipwhite skipempty -" 6: >>>=, >>>, >>=, >>, >=, > -syntax match typescriptBinaryOp contained />\(>>=\|>>\|>=\|>\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty -" 4: <<=, <<, <=, < -syntax match typescriptBinaryOp contained /<\(<=\|<\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty -" 3: ||, |=, |, ||= -syntax match typescriptBinaryOp contained /||\?=\?/ nextgroup=@typescriptValue skipwhite skipempty -" 4: &&, &=, &, &&= -syntax match typescriptBinaryOp contained /&&\?=\?/ nextgroup=@typescriptValue skipwhite skipempty -" 2: ??, ??= -syntax match typescriptBinaryOp contained /??=\?/ nextgroup=@typescriptValue skipwhite skipempty -" 2: *=, * -syntax match typescriptBinaryOp contained /\*=\?/ nextgroup=@typescriptValue skipwhite skipempty -" 2: %=, % -syntax match typescriptBinaryOp contained /%=\?/ nextgroup=@typescriptValue skipwhite skipempty -" 2: /=, / -syntax match typescriptBinaryOp contained +/\(=\|[^\*/]\@=\)+ nextgroup=@typescriptValue skipwhite skipempty -syntax match typescriptBinaryOp contained /!==\?/ nextgroup=@typescriptValue skipwhite skipempty -" 2: !=, !== -syntax match typescriptBinaryOp contained /+\(+\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty -" 3: +, ++, += -syntax match typescriptBinaryOp contained /-\(-\|=\)\?/ nextgroup=@typescriptValue skipwhite skipempty -" 3: -, --, -= - -" exponentiation operator -" 2: **, **= -syntax match typescriptBinaryOp contained /\*\*=\?/ nextgroup=@typescriptValue - -syntax cluster typescriptSymbols contains=typescriptBinaryOp,typescriptKeywordOp,typescriptTernary,typescriptAssign,typescriptCastKeyword - -" runtime syntax/basic/reserved.vim -"Import -syntax keyword typescriptImport from as -syntax keyword typescriptImport import - \ nextgroup=typescriptImportType - \ skipwhite -syntax keyword typescriptImportType type - \ contained -syntax keyword typescriptExport export - \ nextgroup=typescriptExportType - \ skipwhite -syntax match typescriptExportType /\<type\s*{\@=/ - \ contained skipwhite skipempty skipnl -syntax keyword typescriptModule namespace module - -"this - -"JavaScript Prototype -syntax keyword typescriptPrototype prototype - \ nextgroup=@afterIdentifier - -syntax keyword typescriptCastKeyword as - \ nextgroup=@typescriptType - \ skipwhite - -"Program Keywords -syntax keyword typescriptIdentifier arguments this super - \ nextgroup=@afterIdentifier - -syntax keyword typescriptVariable let var - \ nextgroup=@typescriptVariableDeclarations - \ skipwhite skipempty - -syntax keyword typescriptVariable const - \ nextgroup=typescriptEnum,@typescriptVariableDeclarations - \ skipwhite skipempty - -syntax region typescriptEnum matchgroup=typescriptEnumKeyword start=/enum / end=/\ze{/ - \ nextgroup=typescriptBlock - \ skipwhite - -syntax keyword typescriptKeywordOp - \ contained in instanceof nextgroup=@typescriptValue -syntax keyword typescriptOperator delete new typeof void - \ nextgroup=@typescriptValue - \ skipwhite skipempty - -syntax keyword typescriptForOperator contained in of -syntax keyword typescriptBoolean true false nextgroup=@typescriptSymbols skipwhite skipempty -syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty -syntax keyword typescriptMessage alert confirm prompt status - \ nextgroup=typescriptDotNotation,typescriptFuncCallArg -syntax keyword typescriptGlobal self top parent - \ nextgroup=@afterIdentifier - -"Statement Keywords -syntax keyword typescriptConditional if else switch - \ nextgroup=typescriptConditionalParen - \ skipwhite skipempty skipnl -syntax keyword typescriptConditionalElse else -syntax keyword typescriptRepeat do while for nextgroup=typescriptLoopParen skipwhite skipempty -syntax keyword typescriptRepeat for nextgroup=typescriptLoopParen,typescriptAsyncFor skipwhite skipempty -syntax keyword typescriptBranch break continue containedin=typescriptBlock -syntax keyword typescriptCase case nextgroup=@typescriptPrimitive skipwhite containedin=typescriptBlock -syntax keyword typescriptDefault default containedin=typescriptBlock nextgroup=@typescriptValue,typescriptClassKeyword,typescriptInterfaceKeyword skipwhite oneline -syntax keyword typescriptStatementKeyword with -syntax keyword typescriptStatementKeyword yield skipwhite nextgroup=@typescriptValue containedin=typescriptBlock -syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock - -syntax keyword typescriptTry try -syntax keyword typescriptExceptions catch throw finally -syntax keyword typescriptDebugger debugger - -syntax keyword typescriptAsyncFor await nextgroup=typescriptLoopParen skipwhite skipempty contained - -syntax region typescriptLoopParen contained matchgroup=typescriptParens - \ start=/(/ end=/)/ - \ contains=typescriptVariable,typescriptForOperator,typescriptEndColons,@typescriptValue,@typescriptComments - \ nextgroup=typescriptBlock - \ skipwhite skipempty -syntax region typescriptConditionalParen contained matchgroup=typescriptParens - \ start=/(/ end=/)/ - \ contains=@typescriptValue,@typescriptComments - \ nextgroup=typescriptBlock - \ skipwhite skipempty -syntax match typescriptEndColons /[;,]/ contained - -syntax keyword typescriptAmbientDeclaration declare nextgroup=@typescriptAmbients - \ skipwhite skipempty - -syntax cluster typescriptAmbients contains= - \ typescriptVariable, - \ typescriptFuncKeyword, - \ typescriptClassKeyword, - \ typescriptAbstract, - \ typescriptEnumKeyword,typescriptEnum, - \ typescriptModule - -"Syntax coloring for Node.js shebang line -syntax match shellbang "^#!.*node\>" -syntax match shellbang "^#!.*iojs\>" - - -"JavaScript comments -syntax keyword typescriptCommentTodo TODO FIXME XXX TBD -syntax match typescriptMagicComment "@ts-\%(ignore\|expect-error\)\>" -syntax match typescriptLineComment "//.*" - \ contains=@Spell,typescriptCommentTodo,typescriptRef,typescriptMagicComment -syntax region typescriptComment - \ start="/\*" end="\*/" - \ contains=@Spell,typescriptCommentTodo extend -syntax cluster typescriptComments - \ contains=typescriptDocComment,typescriptComment,typescriptLineComment - -syntax match typescriptRef +///\s*<reference\s\+.*\/>$+ - \ contains=typescriptString -syntax match typescriptRef +///\s*<amd-dependency\s\+.*\/>$+ - \ contains=typescriptString -syntax match typescriptRef +///\s*<amd-module\s\+.*\/>$+ - \ contains=typescriptString - -"JSDoc -syntax case ignore - -syntax region typescriptDocComment matchgroup=typescriptComment - \ start="/\*\*" end="\*/" - \ contains=typescriptDocNotation,typescriptCommentTodo,@Spell - \ fold keepend -syntax match typescriptDocNotation contained /@/ nextgroup=typescriptDocTags - -syntax keyword typescriptDocTags contained constant constructor constructs function ignore inner private public readonly static -syntax keyword typescriptDocTags contained const dict expose inheritDoc interface nosideeffects override protected struct internal -syntax keyword typescriptDocTags contained example global -syntax keyword typescriptDocTags contained alpha beta defaultValue eventProperty experimental label -syntax keyword typescriptDocTags contained packageDocumentation privateRemarks remarks sealed typeParam - -" syntax keyword typescriptDocTags contained ngdoc nextgroup=typescriptDocNGDirective -syntax keyword typescriptDocTags contained ngdoc scope priority animations -syntax keyword typescriptDocTags contained ngdoc restrict methodOf propertyOf eventOf eventType nextgroup=typescriptDocParam skipwhite -syntax keyword typescriptDocNGDirective contained overview service object function method property event directive filter inputType error - -syntax keyword typescriptDocTags contained abstract virtual access augments - -syntax keyword typescriptDocTags contained arguments callback lends memberOf name type kind link mixes mixin tutorial nextgroup=typescriptDocParam skipwhite -syntax keyword typescriptDocTags contained variation nextgroup=typescriptDocNumParam skipwhite - -syntax keyword typescriptDocTags contained author class classdesc copyright default defaultvalue nextgroup=typescriptDocDesc skipwhite -syntax keyword typescriptDocTags contained deprecated description external host nextgroup=typescriptDocDesc skipwhite -syntax keyword typescriptDocTags contained file fileOverview overview namespace requires since version nextgroup=typescriptDocDesc skipwhite -syntax keyword typescriptDocTags contained summary todo license preserve nextgroup=typescriptDocDesc skipwhite - -syntax keyword typescriptDocTags contained borrows exports nextgroup=typescriptDocA skipwhite -syntax keyword typescriptDocTags contained param arg argument property prop module nextgroup=typescriptDocNamedParamType,typescriptDocParamName skipwhite -syntax keyword typescriptDocTags contained define enum extends implements this typedef nextgroup=typescriptDocParamType skipwhite -syntax keyword typescriptDocTags contained return returns throws exception nextgroup=typescriptDocParamType,typescriptDocParamName skipwhite -syntax keyword typescriptDocTags contained see nextgroup=typescriptDocRef skipwhite - -syntax keyword typescriptDocTags contained function func method nextgroup=typescriptDocName skipwhite -syntax match typescriptDocName contained /\h\w*/ - -syntax keyword typescriptDocTags contained fires event nextgroup=typescriptDocEventRef skipwhite -syntax match typescriptDocEventRef contained /\h\w*#\(\h\w*\:\)\?\h\w*/ - -syntax match typescriptDocNamedParamType contained /{.\+}/ nextgroup=typescriptDocParamName skipwhite -syntax match typescriptDocParamName contained /\[\?0-9a-zA-Z_\.]\+\]\?/ nextgroup=typescriptDocDesc skipwhite -syntax match typescriptDocParamType contained /{.\+}/ nextgroup=typescriptDocDesc skipwhite -syntax match typescriptDocA contained /\%(#\|\w\|\.\|:\|\/\)\+/ nextgroup=typescriptDocAs skipwhite -syntax match typescriptDocAs contained /\s*as\s*/ nextgroup=typescriptDocB skipwhite -syntax match typescriptDocB contained /\%(#\|\w\|\.\|:\|\/\)\+/ -syntax match typescriptDocParam contained /\%(#\|\w\|\.\|:\|\/\|-\)\+/ -syntax match typescriptDocNumParam contained /\d\+/ -syntax match typescriptDocRef contained /\%(#\|\w\|\.\|:\|\/\)\+/ -syntax region typescriptDocLinkTag contained matchgroup=typescriptDocLinkTag start=/{/ end=/}/ contains=typescriptDocTags - -syntax cluster typescriptDocs contains=typescriptDocParamType,typescriptDocNamedParamType,typescriptDocParam - -if exists("main_syntax") && main_syntax == "typescript" - syntax sync clear - syntax sync ccomment typescriptComment minlines=200 -endif - -syntax case match - -" Types -syntax match typescriptOptionalMark /?/ contained - -syntax cluster typescriptTypeParameterCluster contains= - \ typescriptTypeParameter, - \ typescriptGenericDefault - -syntax region typescriptTypeParameters matchgroup=typescriptTypeBrackets - \ start=/</ end=/>/ - \ contains=@typescriptTypeParameterCluster - \ contained - -syntax match typescriptTypeParameter /\K\k*/ - \ nextgroup=typescriptConstraint - \ contained skipwhite skipnl - -syntax keyword typescriptConstraint extends - \ nextgroup=@typescriptType - \ contained skipwhite skipnl - -syntax match typescriptGenericDefault /=/ - \ nextgroup=@typescriptType - \ contained skipwhite - -">< -" class A extend B<T> {} // ClassBlock -" func<T>() // FuncCallArg -syntax region typescriptTypeArguments matchgroup=typescriptTypeBrackets - \ start=/\></ end=/>/ - \ contains=@typescriptType - \ nextgroup=typescriptFuncCallArg,@typescriptTypeOperator - \ contained skipwhite - - -syntax cluster typescriptType contains= - \ @typescriptPrimaryType, - \ typescriptUnion, - \ @typescriptFunctionType, - \ typescriptConstructorType - -" array type: A[] -" type indexing A['key'] -syntax region typescriptTypeBracket contained - \ start=/\[/ end=/\]/ - \ contains=typescriptString,typescriptNumber - \ nextgroup=@typescriptTypeOperator - \ skipwhite skipempty - -syntax cluster typescriptPrimaryType contains= - \ typescriptParenthesizedType, - \ typescriptPredefinedType, - \ typescriptTypeReference, - \ typescriptObjectType, - \ typescriptTupleType, - \ typescriptTypeQuery, - \ typescriptStringLiteralType, - \ typescriptTemplateLiteralType, - \ typescriptReadonlyArrayKeyword, - \ typescriptAssertType - -syntax region typescriptStringLiteralType contained - \ start=/\z(["']\)/ skip=/\\\\\|\\\z1\|\\\n/ end=/\z1\|$/ - \ nextgroup=typescriptUnion - \ skipwhite skipempty - -syntax region typescriptTemplateLiteralType contained - \ start=/`/ skip=/\\\\\|\\`\|\n/ end=/`\|$/ - \ contains=typescriptTemplateSubstitutionType - \ nextgroup=typescriptTypeOperator - \ skipwhite skipempty - -syntax region typescriptTemplateSubstitutionType matchgroup=typescriptTemplateSB - \ start=/\${/ end=/}/ - \ contains=@typescriptType - \ contained - -syntax region typescriptParenthesizedType matchgroup=typescriptParens - \ start=/(/ end=/)/ - \ contains=@typescriptType - \ nextgroup=@typescriptTypeOperator - \ contained skipwhite skipempty fold - -syntax match typescriptTypeReference /\K\k*\(\.\K\k*\)*/ - \ nextgroup=typescriptTypeArguments,@typescriptTypeOperator,typescriptUserDefinedType - \ skipwhite contained skipempty - -syntax keyword typescriptPredefinedType any number boolean string void never undefined null object unknown - \ nextgroup=@typescriptTypeOperator - \ contained skipwhite skipempty - -syntax match typescriptPredefinedType /unique symbol/ - \ nextgroup=@typescriptTypeOperator - \ contained skipwhite skipempty - -syntax region typescriptObjectType matchgroup=typescriptBraces - \ start=/{/ end=/}/ - \ contains=@typescriptTypeMember,typescriptEndColons,@typescriptComments,typescriptAccessibilityModifier,typescriptReadonlyModifier - \ nextgroup=@typescriptTypeOperator - \ contained skipwhite skipnl fold - -syntax cluster typescriptTypeMember contains= - \ @typescriptCallSignature, - \ typescriptConstructSignature, - \ typescriptIndexSignature, - \ @typescriptMembers - -syntax match typescriptTupleLable /\K\k*?\?:/ - \ contained - -syntax region typescriptTupleType matchgroup=typescriptBraces - \ start=/\[/ end=/\]/ - \ contains=@typescriptType,@typescriptComments,typescriptRestOrSpread,typescriptTupleLable - \ contained skipwhite - -syntax cluster typescriptTypeOperator - \ contains=typescriptUnion,typescriptTypeBracket,typescriptConstraint,typescriptConditionalType - -syntax match typescriptUnion /|\|&/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty - -syntax match typescriptConditionalType /?\|:/ contained nextgroup=@typescriptPrimaryType skipwhite skipempty - -syntax cluster typescriptFunctionType contains=typescriptGenericFunc,typescriptFuncType -syntax region typescriptGenericFunc matchgroup=typescriptTypeBrackets - \ start=/</ end=/>/ - \ contains=typescriptTypeParameter - \ nextgroup=typescriptFuncType - \ containedin=typescriptFunctionType - \ contained skipwhite skipnl - -syntax region typescriptFuncType matchgroup=typescriptParens - \ start=/(/ end=/)\s*=>/me=e-2 - \ contains=@typescriptParameterList - \ nextgroup=typescriptFuncTypeArrow - \ contained skipwhite skipnl oneline - -syntax match typescriptFuncTypeArrow /=>/ - \ nextgroup=@typescriptType - \ containedin=typescriptFuncType - \ contained skipwhite skipnl - - -syntax keyword typescriptConstructorType new - \ nextgroup=@typescriptFunctionType - \ contained skipwhite skipnl - -syntax keyword typescriptUserDefinedType is - \ contained nextgroup=@typescriptType skipwhite skipempty - -syntax keyword typescriptTypeQuery typeof keyof - \ nextgroup=typescriptTypeReference - \ contained skipwhite skipnl - -syntax keyword typescriptAssertType asserts - \ nextgroup=typescriptTypeReference - \ contained skipwhite skipnl - -syntax cluster typescriptCallSignature contains=typescriptGenericCall,typescriptCall -syntax region typescriptGenericCall matchgroup=typescriptTypeBrackets - \ start=/</ end=/>/ - \ contains=typescriptTypeParameter - \ nextgroup=typescriptCall - \ contained skipwhite skipnl -syntax region typescriptCall matchgroup=typescriptParens - \ start=/(/ end=/)/ - \ contains=typescriptDecorator,@typescriptParameterList,@typescriptComments - \ nextgroup=typescriptTypeAnnotation,typescriptBlock - \ contained skipwhite skipnl - -syntax match typescriptTypeAnnotation /:/ - \ nextgroup=@typescriptType - \ contained skipwhite skipnl - -syntax cluster typescriptParameterList contains= - \ typescriptTypeAnnotation, - \ typescriptAccessibilityModifier, - \ typescriptReadonlyModifier, - \ typescriptOptionalMark, - \ typescriptRestOrSpread, - \ typescriptFuncComma, - \ typescriptDefaultParam - -syntax match typescriptFuncComma /,/ contained - -syntax match typescriptDefaultParam /=/ - \ nextgroup=@typescriptValue - \ contained skipwhite - -syntax keyword typescriptConstructSignature new - \ nextgroup=@typescriptCallSignature - \ contained skipwhite - -syntax region typescriptIndexSignature matchgroup=typescriptBraces - \ start=/\[/ end=/\]/ - \ contains=typescriptPredefinedType,typescriptMappedIn,typescriptString - \ nextgroup=typescriptTypeAnnotation - \ contained skipwhite oneline - -syntax keyword typescriptMappedIn in - \ nextgroup=@typescriptType - \ contained skipwhite skipnl skipempty - -syntax keyword typescriptAliasKeyword type - \ nextgroup=typescriptAliasDeclaration - \ skipwhite skipnl skipempty - -syntax region typescriptAliasDeclaration matchgroup=typescriptUnion - \ start=/ / end=/=/ - \ nextgroup=@typescriptType - \ contains=typescriptConstraint,typescriptTypeParameters - \ contained skipwhite skipempty - -syntax keyword typescriptReadonlyArrayKeyword readonly - \ nextgroup=@typescriptPrimaryType - \ skipwhite - - -" extension -if get(g:, 'yats_host_keyword', 1) - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function Boolean - " use of nextgroup Suggested by Doug Kearns - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Error EvalError nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobal containedin=typescriptIdentifierName InternalError - syntax keyword typescriptGlobal containedin=typescriptIdentifierName RangeError ReferenceError - syntax keyword typescriptGlobal containedin=typescriptIdentifierName StopIteration - syntax keyword typescriptGlobal containedin=typescriptIdentifierName SyntaxError TypeError - syntax keyword typescriptGlobal containedin=typescriptIdentifierName URIError Date - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float32Array - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Float64Array - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int16Array Int32Array - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Int8Array Uint16Array - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint32Array Uint8Array - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Uint8ClampedArray - syntax keyword typescriptGlobal containedin=typescriptIdentifierName ParallelArray - syntax keyword typescriptGlobal containedin=typescriptIdentifierName ArrayBuffer DataView - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Iterator Generator - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Reflect Proxy - syntax keyword typescriptGlobal containedin=typescriptIdentifierName arguments - hi def link typescriptGlobal Structure - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName eval uneval nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isFinite nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName isNaN parseFloat nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName parseInt nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURI nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName decodeURIComponent nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURI nextgroup=typescriptFuncCallArg - syntax keyword typescriptGlobalMethod containedin=typescriptIdentifierName encodeURIComponent nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptGlobalMethod - hi def link typescriptGlobalMethod Structure - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Number nextgroup=typescriptGlobalNumberDot,typescriptFuncCallArg - syntax match typescriptGlobalNumberDot /\./ contained nextgroup=typescriptNumberStaticProp,typescriptNumberStaticMethod,typescriptProp - syntax keyword typescriptNumberStaticProp contained EPSILON MAX_SAFE_INTEGER MAX_VALUE - syntax keyword typescriptNumberStaticProp contained MIN_SAFE_INTEGER MIN_VALUE NEGATIVE_INFINITY - syntax keyword typescriptNumberStaticProp contained NaN POSITIVE_INFINITY - hi def link typescriptNumberStaticProp Keyword - syntax keyword typescriptNumberStaticMethod contained isFinite isInteger isNaN isSafeInteger nextgroup=typescriptFuncCallArg - syntax keyword typescriptNumberStaticMethod contained parseFloat parseInt nextgroup=typescriptFuncCallArg - hi def link typescriptNumberStaticMethod Keyword - syntax keyword typescriptNumberMethod contained toExponential toFixed toLocaleString nextgroup=typescriptFuncCallArg - syntax keyword typescriptNumberMethod contained toPrecision toSource toString valueOf nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptNumberMethod - hi def link typescriptNumberMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName String nextgroup=typescriptGlobalStringDot,typescriptFuncCallArg - syntax match typescriptGlobalStringDot /\./ contained nextgroup=typescriptStringStaticMethod,typescriptProp - syntax keyword typescriptStringStaticMethod contained fromCharCode fromCodePoint raw nextgroup=typescriptFuncCallArg - hi def link typescriptStringStaticMethod Keyword - syntax keyword typescriptStringMethod contained anchor charAt charCodeAt codePointAt nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained concat endsWith includes indexOf lastIndexOf nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained link localeCompare match normalize nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained padStart padEnd repeat replace search nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained slice split startsWith substr substring nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained toLocaleLowerCase toLocaleUpperCase nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained toLowerCase toString toUpperCase trim nextgroup=typescriptFuncCallArg - syntax keyword typescriptStringMethod contained valueOf nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptStringMethod - hi def link typescriptStringMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Array nextgroup=typescriptGlobalArrayDot,typescriptFuncCallArg - syntax match typescriptGlobalArrayDot /\./ contained nextgroup=typescriptArrayStaticMethod,typescriptProp - syntax keyword typescriptArrayStaticMethod contained from isArray of nextgroup=typescriptFuncCallArg - hi def link typescriptArrayStaticMethod Keyword - syntax keyword typescriptArrayMethod contained concat copyWithin entries every fill nextgroup=typescriptFuncCallArg - syntax keyword typescriptArrayMethod contained filter find findIndex forEach indexOf nextgroup=typescriptFuncCallArg - syntax keyword typescriptArrayMethod contained includes join keys lastIndexOf map nextgroup=typescriptFuncCallArg - syntax keyword typescriptArrayMethod contained pop push reduce reduceRight reverse nextgroup=typescriptFuncCallArg - syntax keyword typescriptArrayMethod contained shift slice some sort splice toLocaleString nextgroup=typescriptFuncCallArg - syntax keyword typescriptArrayMethod contained toSource toString unshift nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptArrayMethod - hi def link typescriptArrayMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Object nextgroup=typescriptGlobalObjectDot,typescriptFuncCallArg - syntax match typescriptGlobalObjectDot /\./ contained nextgroup=typescriptObjectStaticMethod,typescriptProp - syntax keyword typescriptObjectStaticMethod contained create defineProperties defineProperty nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectStaticMethod contained entries freeze getOwnPropertyDescriptors nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectStaticMethod contained getOwnPropertyDescriptor getOwnPropertyNames nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectStaticMethod contained getOwnPropertySymbols getPrototypeOf nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectStaticMethod contained is isExtensible isFrozen isSealed nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectStaticMethod contained keys preventExtensions values nextgroup=typescriptFuncCallArg - hi def link typescriptObjectStaticMethod Keyword - syntax keyword typescriptObjectMethod contained getOwnPropertyDescriptors hasOwnProperty nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectMethod contained isPrototypeOf propertyIsEnumerable nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectMethod contained toLocaleString toString valueOf seal nextgroup=typescriptFuncCallArg - syntax keyword typescriptObjectMethod contained setPrototypeOf nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptObjectMethod - hi def link typescriptObjectMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Symbol nextgroup=typescriptGlobalSymbolDot,typescriptFuncCallArg - syntax match typescriptGlobalSymbolDot /\./ contained nextgroup=typescriptSymbolStaticProp,typescriptSymbolStaticMethod,typescriptProp - syntax keyword typescriptSymbolStaticProp contained length iterator match replace - syntax keyword typescriptSymbolStaticProp contained search split hasInstance isConcatSpreadable - syntax keyword typescriptSymbolStaticProp contained unscopables species toPrimitive - syntax keyword typescriptSymbolStaticProp contained toStringTag - hi def link typescriptSymbolStaticProp Keyword - syntax keyword typescriptSymbolStaticMethod contained for keyFor nextgroup=typescriptFuncCallArg - hi def link typescriptSymbolStaticMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Function - syntax keyword typescriptFunctionMethod contained apply bind call nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptFunctionMethod - hi def link typescriptFunctionMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Math nextgroup=typescriptGlobalMathDot,typescriptFuncCallArg - syntax match typescriptGlobalMathDot /\./ contained nextgroup=typescriptMathStaticProp,typescriptMathStaticMethod,typescriptProp - syntax keyword typescriptMathStaticProp contained E LN10 LN2 LOG10E LOG2E PI SQRT1_2 - syntax keyword typescriptMathStaticProp contained SQRT2 - hi def link typescriptMathStaticProp Keyword - syntax keyword typescriptMathStaticMethod contained abs acos acosh asin asinh atan nextgroup=typescriptFuncCallArg - syntax keyword typescriptMathStaticMethod contained atan2 atanh cbrt ceil clz32 cos nextgroup=typescriptFuncCallArg - syntax keyword typescriptMathStaticMethod contained cosh exp expm1 floor fround hypot nextgroup=typescriptFuncCallArg - syntax keyword typescriptMathStaticMethod contained imul log log10 log1p log2 max nextgroup=typescriptFuncCallArg - syntax keyword typescriptMathStaticMethod contained min pow random round sign sin nextgroup=typescriptFuncCallArg - syntax keyword typescriptMathStaticMethod contained sinh sqrt tan tanh trunc nextgroup=typescriptFuncCallArg - hi def link typescriptMathStaticMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName Date nextgroup=typescriptGlobalDateDot,typescriptFuncCallArg - syntax match typescriptGlobalDateDot /\./ contained nextgroup=typescriptDateStaticMethod,typescriptProp - syntax keyword typescriptDateStaticMethod contained UTC now parse nextgroup=typescriptFuncCallArg - hi def link typescriptDateStaticMethod Keyword - syntax keyword typescriptDateMethod contained getDate getDay getFullYear getHours nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained getMilliseconds getMinutes getMonth nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained getSeconds getTime getTimezoneOffset nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained getUTCDate getUTCDay getUTCFullYear nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained getUTCHours getUTCMilliseconds getUTCMinutes nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained getUTCMonth getUTCSeconds setDate setFullYear nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained setHours setMilliseconds setMinutes nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained setMonth setSeconds setTime setUTCDate nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained setUTCFullYear setUTCHours setUTCMilliseconds nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained setUTCMinutes setUTCMonth setUTCSeconds nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained toDateString toISOString toJSON toLocaleDateString nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained toLocaleFormat toLocaleString toLocaleTimeString nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained toSource toString toTimeString toUTCString nextgroup=typescriptFuncCallArg - syntax keyword typescriptDateMethod contained valueOf nextgroup=typescriptFuncCallArg - syntax cluster props add=typescriptDateMethod - hi def link typescriptDateMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName JSON nextgroup=typescriptGlobalJSONDot,typescriptFuncCallArg - syntax match typescriptGlobalJSONDot /\./ contained nextgroup=typescriptJSONStaticMethod,typescriptProp - syntax keyword typescriptJSONStaticMethod contained parse stringify nextgroup=typescriptFuncCallArg - hi def link typescriptJSONStaticMethod Keyword - - syntax keyword typescriptGlobal containedin=typescriptIdentifierName RegExp nextgroup=typescriptGlobalRegExpDot,typescriptFuncCallArg - syntax match typescriptGlobalRegExpDot /\./ contained nextgroup=typescriptRegExpStaticProp,typescriptProp - syntax keyword typescriptRegExpStaticProp contained lastIndex - hi def link typescriptRegExpStaticProp Keyword - syntax keyword typescriptRegExpProp contained global ignoreCase multiline source sticky - syntax cluster props add=typescriptRegExpProp - hi def link typescriptRegExpProp Keyword - syntax keyword typescript |