22" Language: TypeScript and TypeScriptReact
33" Maintainer: Herrington Darkholme
44" Last Change: 2024 May 24
5+ " 2025 Aug 05 support for new TypeScript syntaxes
56" Based On: Herrington Darkholme's yats.vim
67" Changes: See https://github.com/HerringtonDarkholme/yats.vim
78" Credits: See yats.vim on github
@@ -11,7 +12,6 @@ if &cpo =~ 'C'
1112 set cpo &vim
1213endif
1314
14-
1515" NOTE: this results in accurate highlighting, but can be slow.
1616syntax sync fromstart
1717
@@ -240,10 +240,22 @@ syntax cluster typescriptSymbols contains=typescriptBinaryOp,types
240240" Import
241241syntax keyword typescriptImport from as
242242syntax keyword typescriptImport import
243- \ nextgroup= typescriptImportType,typescriptTypeBlock ,typescriptDefaultImportName
243+ \ nextgroup= typescriptImportType,typescriptImportBlock ,typescriptDefaultImportName,typescriptImportDefer
244244 \ skipwhite
245245syntax keyword typescriptImportType type
246246 \ contained
247+ syntax match typescriptDefaultImportName / \v\h\k *( |,)/
248+ \ contained
249+ \ nextgroup= typescriptImportBlock
250+ \ skipwhite skipempty
251+ syntax match typescriptImportDefer / \< defer\% (\s\+\*\)\@ =/
252+ \ contained
253+ syntax region typescriptImportBlock
254+ \ matchgroup= typescriptBraces
255+ \ start = /{/ end = /}/
256+ \ contained
257+ \ contains= typescriptIdentifierName,typescriptImportType,typescriptString
258+ \ fold
247259syntax keyword typescriptExport export
248260 \ nextgroup= typescriptExportType
249261 \ skipwhite
@@ -329,21 +341,11 @@ syntax cluster typescriptAmbients contains=
329341 \ typescriptModule
330342
331343syntax keyword typescriptIdentifier arguments nextgroup =@afterIdentifier
332- syntax match typescriptDefaultImportName / \v\h\k *( |,)/
333- \ contained
334- \ nextgroup= typescriptTypeBlock
335- \ skipwhite skipempty
336-
337- syntax region typescriptTypeBlock
338- \ matchgroup= typescriptBraces
339- \ start = /{/ end = /}/
340- \ contained
341- \ contains= typescriptIdentifierName,typescriptImportType
342- \ fold
343344
344345" Program Keywords
345346syntax keyword typescriptNull null undefined nextgroup =@typescriptSymbols skipwhite skipempty
346- syntax keyword typescriptIdentifier this super prototype nextgroup =@afterIdentifier
347+ syntax keyword typescriptIdentifier this super nextgroup =@afterIdentifier
348+ syntax keyword typescriptPrototype prototype nextgroup =@afterIdentifier
347349syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup =@typescriptValue containedin =typescriptBlock
348350
349351" Syntax coloring for Node.js shebang line
@@ -1988,100 +1990,101 @@ syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a
19881990 \ contains= @_ semantic,typescriptDotNotation
19891991
19901992
1991- hi def link typescriptReserved Error
1992-
1993- hi def link typescriptEndColons Exception
1994- hi def link typescriptSymbols Normal
1995- hi def link typescriptBraces Function
1996- hi def link typescriptParens Normal
1997- hi def link typescriptComment Comment
1998- hi def link typescriptLineComment Comment
1999- hi def link typescriptDocComment Comment
2000- hi def link typescriptCommentTodo Todo
2001- hi def link typescriptMagicComment SpecialComment
2002- hi def link typescriptRef Include
2003- hi def link typescriptDocNotation SpecialComment
2004- hi def link typescriptDocTags SpecialComment
2005- hi def link typescriptDocNGParam typescriptDocParam
2006- hi def link typescriptDocParam Function
2007- hi def link typescriptDocNumParam Function
2008- hi def link typescriptDocEventRef Function
2009- hi def link typescriptDocNamedParamType Type
2010- hi def link typescriptDocParamName Type
2011- hi def link typescriptDocParamType Type
2012- hi def link typescriptString String
2013- hi def link typescriptSpecial Special
2014- hi def link typescriptStringLiteralType String
2015- hi def link typescriptTemplateLiteralType String
2016- hi def link typescriptStringMember String
2017- hi def link typescriptTemplate String
2018- hi def link typescriptEventString String
2019- hi def link typescriptDestructureString String
2020- hi def link typescriptASCII Special
2021- hi def link typescriptTemplateSB Label
2022- hi def link typescriptRegexpString String
2023- hi def link typescriptGlobal Constant
2024- hi def link typescriptTestGlobal Function
2025- hi def link typescriptPrototype Type
2026- hi def link typescriptConditional Conditional
2027- hi def link typescriptConditionalElse Conditional
2028- hi def link typescriptCase Conditional
2029- hi def link typescriptDefault typescriptCase
2030- hi def link typescriptBranch Conditional
2031- hi def link typescriptIdentifier Structure
2032- hi def link typescriptVariable Identifier
2033- hi def link typescriptUsing Identifier
2034- hi def link typescriptDestructureVariable PreProc
2035- hi def link typescriptEnumKeyword Identifier
2036- hi def link typescriptRepeat Repeat
2037- hi def link typescriptForOperator Repeat
2038- hi def link typescriptStatementKeyword Statement
2039- hi def link typescriptMessage Keyword
2040- hi def link typescriptOperator Identifier
2041- hi def link typescriptKeywordOp Identifier
2042- hi def link typescriptCastKeyword Special
2043- hi def link typescriptType Type
2044- hi def link typescriptNull Boolean
2045- hi def link typescriptNumber Number
2046- hi def link typescriptBoolean Boolean
2047- hi def link typescriptObjectLabel typescriptLabel
2048- hi def link typescriptDestructureLabel Function
2049- hi def link typescriptLabel Label
2050- hi def link typescriptTupleLable Label
2051- hi def link typescriptStringProperty String
2052- hi def link typescriptImport Special
2053- hi def link typescriptImportType Special
2054- hi def link typescriptAmbientDeclaration Special
2055- hi def link typescriptExport Special
2056- hi def link typescriptExportType Special
2057- hi def link typescriptModule Special
2058- hi def link typescriptTry Special
2059- hi def link typescriptExceptions Special
2060-
2061- hi def link typescriptMember Function
2062- hi def link typescriptMethodAccessor Operator
2063-
2064- hi def link typescriptAsyncFuncKeyword Keyword
2065- hi def link typescriptObjectAsyncKeyword Keyword
2066- hi def link typescriptAsyncFor Keyword
2067- hi def link typescriptFuncKeyword Keyword
2068- hi def link typescriptAsyncFunc Keyword
2069- hi def link typescriptArrowFunc Type
2070- hi def link typescriptFuncName Function
2071- hi def link typescriptFuncCallArg PreProc
2072- hi def link typescriptArrowFuncArg PreProc
2073- hi def link typescriptFuncComma Operator
2074-
2075- hi def link typescriptClassKeyword Keyword
2076- hi def link typescriptClassExtends Keyword
2077- hi def link typescriptAbstract Special
2078- hi def link typescriptClassStatic StorageClass
2079- hi def link typescriptReadonlyModifier Keyword
2080- hi def link typescriptInterfaceKeyword Keyword
2081- hi def link typescriptInterfaceExtends Keyword
2082- hi def link typescriptInterfaceName Function
2083-
2084- hi def link shellbang Comment
1993+ hi def link typescriptReserved Error
1994+
1995+ hi def link typescriptEndColons Exception
1996+ hi def link typescriptSymbols Normal
1997+ hi def link typescriptBraces Function
1998+ hi def link typescriptParens Normal
1999+ hi def link typescriptComment Comment
2000+ hi def link typescriptLineComment Comment
2001+ hi def link typescriptDocComment Comment
2002+ hi def link typescriptCommentTodo Todo
2003+ hi def link typescriptMagicComment SpecialComment
2004+ hi def link typescriptRef Include
2005+ hi def link typescriptDocNotation SpecialComment
2006+ hi def link typescriptDocTags SpecialComment
2007+ hi def link typescriptDocNGParam typescriptDocParam
2008+ hi def link typescriptDocParam Function
2009+ hi def link typescriptDocNumParam Function
2010+ hi def link typescriptDocEventRef Function
2011+ hi def link typescriptDocNamedParamType Type
2012+ hi def link typescriptDocParamName Type
2013+ hi def link typescriptDocParamType Type
2014+ hi def link typescriptString String
2015+ hi def link typescriptSpecial Special
2016+ hi def link typescriptStringLiteralType String
2017+ hi def link typescriptTemplateLiteralType String
2018+ hi def link typescriptStringMember String
2019+ hi def link typescriptTemplate String
2020+ hi def link typescriptEventString String
2021+ hi def link typescriptDestructureString String
2022+ hi def link typescriptASCII Special
2023+ hi def link typescriptTemplateSB Label
2024+ hi def link typescriptRegexpString String
2025+ hi def link typescriptGlobal Constant
2026+ hi def link typescriptTestGlobal Function
2027+ hi def link typescriptPrototype Type
2028+ hi def link typescriptConditional Conditional
2029+ hi def link typescriptConditionalElse Conditional
2030+ hi def link typescriptCase Conditional
2031+ hi def link typescriptDefault typescriptCase
2032+ hi def link typescriptBranch Conditional
2033+ hi def link typescriptIdentifier Structure
2034+ hi def link typescriptVariable Keyword
2035+ hi def link typescriptUsing Identifier
2036+ hi def link typescriptDestructureVariable PreProc
2037+ hi def link typescriptEnumKeyword Identifier
2038+ hi def link typescriptRepeat Repeat
2039+ hi def link typescriptForOperator Repeat
2040+ hi def link typescriptStatementKeyword Statement
2041+ hi def link typescriptMessage Keyword
2042+ hi def link typescriptOperator Operator
2043+ hi def link typescriptKeywordOp Operator
2044+ hi def link typescriptCastKeyword Special
2045+ hi def link typescriptType Type
2046+ hi def link typescriptNull Boolean
2047+ hi def link typescriptNumber Number
2048+ hi def link typescriptBoolean Boolean
2049+ hi def link typescriptObjectLabel typescriptLabel
2050+ hi def link typescriptDestructureLabel Function
2051+ hi def link typescriptLabel Label
2052+ hi def link typescriptTupleLable Label
2053+ hi def link typescriptStringProperty String
2054+ hi def link typescriptImport Keyword
2055+ hi def link typescriptImportType Keyword
2056+ hi def link typescriptImportDefer Keyword
2057+ hi def link typescriptAmbientDeclaration Keyword
2058+ hi def link typescriptExport Keyword
2059+ hi def link typescriptExportType Keyword
2060+ hi def link typescriptModule Keyword
2061+ hi def link typescriptTry Exception
2062+ hi def link typescriptExceptions Exception
2063+
2064+ hi def link typescriptMember Function
2065+ hi def link typescriptMethodAccessor Operator
2066+
2067+ hi def link typescriptAsyncFuncKeyword Keyword
2068+ hi def link typescriptObjectAsyncKeyword Keyword
2069+ hi def link typescriptAsyncFor Keyword
2070+ hi def link typescriptFuncKeyword Keyword
2071+ hi def link typescriptAsyncFunc Keyword
2072+ hi def link typescriptArrowFunc Type
2073+ hi def link typescriptFuncName Function
2074+ hi def link typescriptFuncCallArg PreProc
2075+ hi def link typescriptArrowFuncArg PreProc
2076+ hi def link typescriptFuncComma Operator
2077+
2078+ hi def link typescriptClassKeyword Keyword
2079+ hi def link typescriptClassExtends Keyword
2080+ hi def link typescriptAbstract Special
2081+ hi def link typescriptClassStatic StorageClass
2082+ hi def link typescriptReadonlyModifier StorageClass
2083+ hi def link typescriptInterfaceKeyword Keyword
2084+ hi def link typescriptInterfaceExtends Keyword
2085+ hi def link typescriptInterfaceName Function
2086+
2087+ hi def link shellbang Comment
20852088
20862089hi def link typescriptTypeParameter Identifier
20872090hi def link typescriptConstraint Keyword
@@ -2107,7 +2110,7 @@ hi def link typescriptConstructor Keyword
21072110hi def link typescriptDecorator Special
21082111hi def link typescriptAssertType Keyword
21092112
2110- hi link typeScript NONE
2113+ hi def link typeScript NONE
21112114
21122115if exists (' s:cpo_save' )
21132116 let &cpo = s: cpo_save
0 commit comments