1773a97c2SBram Moolenaar" Vim syntax file 2773a97c2SBram Moolenaar" Language: TypeScript 3*91359014SBram Moolenaar" Maintainer: Bram Moolenaar, Herrington Darkholme 4*91359014SBram Moolenaar" Last Change: 2019 Nov 30 5773a97c2SBram Moolenaar" Based On: Herrington Darkholme's yats.vim 6*91359014SBram Moolenaar" Changes: Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes. 7*91359014SBram Moolenaar" Origin: https://github.com/othree/yajs 8*91359014SBram Moolenaar" Credits: Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck 9*91359014SBram Moolenaar" (This file is based on their hard work), gumnos (From the #vim 10*91359014SBram Moolenaar" IRC Channel in Freenode) 11773a97c2SBram Moolenaar 12773a97c2SBram Moolenaar" This is the same syntax that is in yats.vim, but: 13773a97c2SBram Moolenaar" - flattened into one file 14773a97c2SBram Moolenaar" - HiLink commands changed to "hi def link" 15773a97c2SBram Moolenaar" - Setting 'cpo' to the Vim value 16773a97c2SBram Moolenaar 17773a97c2SBram Moolenaarif !exists("main_syntax") 18773a97c2SBram Moolenaar if exists("b:current_syntax") 19773a97c2SBram Moolenaar finish 20773a97c2SBram Moolenaar endif 21773a97c2SBram Moolenaar let main_syntax = 'typescript' 22773a97c2SBram Moolenaarendif 23773a97c2SBram Moolenaar 24773a97c2SBram Moolenaarlet s:cpo_save = &cpo 25773a97c2SBram Moolenaarset cpo&vim 26773a97c2SBram Moolenaar 2709c6f265SBram Moolenaar" this region is NOT used in TypeScriptReact 28773a97c2SBram Moolenaar" nextgroup doesn't contain objectLiteral, let outer region contains it 29773a97c2SBram Moolenaarsyntax region typescriptTypeCast matchgroup=typescriptTypeBrackets 30773a97c2SBram Moolenaar \ start=/< \@!/ end=/>/ 31773a97c2SBram Moolenaar \ contains=@typescriptType 32773a97c2SBram Moolenaar \ nextgroup=@typescriptExpression 33773a97c2SBram Moolenaar \ contained skipwhite oneline 34773a97c2SBram Moolenaar 35773a97c2SBram Moolenaar 3609c6f265SBram Moolenaar""""""""""""""""""""""""""""""""""""""""""""""""""" 3709c6f265SBram Moolenaar" Source the part common with typescriptreact.vim 3809c6f265SBram Moolenaarsource <sfile>:h/typescriptcommon.vim 39773a97c2SBram Moolenaar 40773a97c2SBram Moolenaar 41773a97c2SBram Moolenaarlet b:current_syntax = "typescript" 42773a97c2SBram Moolenaarif main_syntax == 'typescript' 43773a97c2SBram Moolenaar unlet main_syntax 44773a97c2SBram Moolenaarendif 45773a97c2SBram Moolenaar 46773a97c2SBram Moolenaarlet &cpo = s:cpo_save 47773a97c2SBram Moolenaarunlet s:cpo_save 48