2
2
" Language: TypeScript and TypeScriptReact
3
3
" Maintainer: Herrington Darkholme
4
4
" Last Change: 2024 May 24
5
+ " 2025 Aug 05 support for new TypeScript syntaxes
5
6
" Based On: Herrington Darkholme's yats.vim
6
7
" Changes: See https://github.com/HerringtonDarkholme/yats.vim
7
8
" Credits: See yats.vim on github
@@ -11,7 +12,6 @@ if &cpo =~ 'C'
11
12
set cpo &vim
12
13
endif
13
14
14
-
15
15
" NOTE: this results in accurate highlighting, but can be slow.
16
16
syntax sync fromstart
17
17
@@ -240,10 +240,22 @@ syntax cluster typescriptSymbols contains=typescriptBinaryOp,types
240
240
" Import
241
241
syntax keyword typescriptImport from as
242
242
syntax keyword typescriptImport import
243
- \ nextgroup= typescriptImportType,typescriptTypeBlock ,typescriptDefaultImportName
243
+ \ nextgroup= typescriptImportType,typescriptImportBlock ,typescriptDefaultImportName,typescriptImportDefer
244
244
\ skipwhite
245
245
syntax keyword typescriptImportType type
246
246
\ contained
247
+ syntax match typescriptDefaultImportName / \v\h\k *( |,)/
248
+ \ contained
249
+ \ nextgroup= typescriptImportBlock
250
+ \ skipwhite skipempty
251
+ syntax match typescriptImportDefer / \< defer\% (\s\+\*\)\@ =/
252
+ \ contained
253
+ syntax region typescriptImportBlock
254
+ \ matchgroup= typescriptBraces
255
+ \ start = /{/ end = /}/
256
+ \ contained
257
+ \ contains= typescriptIdentifierName,typescriptImportType,typescriptString
258
+ \ fold
247
259
syntax keyword typescriptExport export
248
260
\ nextgroup= typescriptExportType
249
261
\ skipwhite
@@ -329,21 +341,11 @@ syntax cluster typescriptAmbients contains=
329
341
\ typescriptModule
330
342
331
343
syntax 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
343
344
344
345
" Program Keywords
345
346
syntax 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
347
349
syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup =@typescriptValue containedin =typescriptBlock
348
350
349
351
" 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
1988
1990
\ contains= @_ semantic,typescriptDotNotation
1989
1991
1990
1992
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
2085
2088
2086
2089
hi def link typescriptTypeParameter Identifier
2087
2090
hi def link typescriptConstraint Keyword
@@ -2107,7 +2110,7 @@ hi def link typescriptConstructor Keyword
2107
2110
hi def link typescriptDecorator Special
2108
2111
hi def link typescriptAssertType Keyword
2109
2112
2110
- hi link typeScript NONE
2113
+ hi def link typeScript NONE
2111
2114
2112
2115
if exists (' s:cpo_save' )
2113
2116
let &cpo = s: cpo_save
0 commit comments