mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-08 11:33:52 -05:00
96 lines
4.1 KiB
VimL
96 lines
4.1 KiB
VimL
if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'typescript') != -1
|
|
finish
|
|
endif
|
|
|
|
"Import
|
|
syntax keyword typescriptImport from as import
|
|
syntax keyword typescriptExport export
|
|
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=typescriptVariableDeclaration
|
|
\ skipwhite skipempty skipnl
|
|
|
|
syntax keyword typescriptVariable const
|
|
\ nextgroup=typescriptEnum,typescriptVariableDeclaration
|
|
\ skipwhite
|
|
|
|
syntax match typescriptVariableDeclaration /[A-Za-z_$]\k*/
|
|
\ nextgroup=typescriptTypeAnnotation,typescriptAssign
|
|
\ contained skipwhite skipempty skipnl
|
|
|
|
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
|