Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
typescriptreact.vim162 linesDownload Raw Back to syntax
1" Vim syntax file2" Language:     TypeScript with React (JSX)3" Maintainer:   The Vim Project <https://github.com/vim/vim>4" Last Change:  2024 May 265" Based On:     Herrington Darkholme's yats.vim6" Changes:      See https://github.com/HerringtonDarkholme/yats.vim7" Credits:      See yats.vim on github8 9if !exists("main_syntax")10  if exists("b:current_syntax")11    finish12  endif13  let main_syntax = 'typescriptreact'14endif15 16let s:cpo_save = &cpo17set cpo&vim18 19syntax region tsxTag20      \ start=+<\([^/!?<>="':]\+\)\@=+21      \ skip=+</[^ /!?<>"']\+>+22      \ end=+/\@<!>+23      \ end=+\(/>\)\@=+24      \ contained25      \ contains=tsxTagName,tsxIntrinsicTagName,tsxAttrib,tsxEscJs,26                \tsxCloseString,@tsxComment27 28syntax match tsxTag /<>/ contained29 30 31" <tag></tag>32" s~~~~~~~~~e33" and self close tag34" <tag/>35" s~~~~e36" A big start regexp borrowed from https://git.io/vDyxc37syntax region tsxRegion38      \ start=+<\_s*\z([a-zA-Z1-9\$_-]\+\(\.\k\+\)*\)+39      \ skip=+<!--\_.\{-}-->+40      \ end=+</\_s*\z1>+41      \ matchgroup=tsxCloseString end=+/>+42      \ fold43      \ contains=tsxRegion,tsxCloseString,tsxCloseTag,tsxTag,tsxCommentInvalid,tsxFragment,tsxEscJs,@Spell44      \ keepend45      \ extend46 47" <>   </>48" s~~~~~~e49" A big start regexp borrowed from https://git.io/vDyxc50syntax region tsxFragment51      \ start=+\(\((\|{\|}\|\[\|,\|&&\|||\|?\|:\|=\|=>\|\Wreturn\|^return\|\Wdefault\|^\|>\)\_s*\)\@<=<>+52      \ skip=+<!--\_.\{-}-->+53      \ end=+</>+54      \ fold55      \ contains=tsxRegion,tsxCloseString,tsxCloseTag,tsxTag,tsxCommentInvalid,tsxFragment,tsxEscJs,@Spell56      \ keepend57      \ extend58 59" </tag>60" ~~~~~~61syntax match tsxCloseTag62      \ +</\_s*[^/!?<>"']\+>+63      \ contained64      \ contains=tsxTagName,tsxIntrinsicTagName65 66syntax match tsxCloseTag +</>+ contained67 68syntax match tsxCloseString69      \ +/>+70      \ contained71 72" <!-- -->73" ~~~~~~~~74syntax match tsxCommentInvalid /<!--\_.\{-}-->/ display75 76syntax region tsxBlockComment77    \ contained78    \ start="/\*"79    \ end="\*/"80 81syntax match tsxLineComment82    \ "//.*$"83    \ contained84    \ display85 86syntax cluster tsxComment contains=tsxBlockComment,tsxLineComment87 88syntax match tsxEntity "&[^; \t]*;" contains=tsxEntityPunct89syntax match tsxEntityPunct contained "[&.;]"90 91" <tag key={this.props.key}>92"  ~~~93syntax match tsxTagName94    \ +[</]\_s*[^/!?<>"'* ]\++hs=s+195    \ contained96    \ nextgroup=tsxAttrib97    \ skipwhite98    \ display99syntax match tsxIntrinsicTagName100    \ +[</]\_s*[a-z1-9-]\++hs=s+1101    \ contained102    \ nextgroup=tsxAttrib103    \ skipwhite104    \ display105 106" <tag key={this.props.key}>107"      ~~~108syntax match tsxAttrib109    \ +[a-zA-Z_][-0-9a-zA-Z_]*+110    \ nextgroup=tsxEqual skipwhite111    \ contained112    \ display113 114" <tag id="sample">115"        ~116syntax match tsxEqual +=+ display contained117  \ nextgroup=tsxString skipwhite118 119" <tag id="sample">120"         s~~~~~~e121syntax region tsxString contained start=+"+ skip=+\\"+ end=+"+ contains=tsxEntity,@Spell display122syntax region tsxString contained start=+'+ skip=+\\'+ end=+'+ contains=tsxEntity,@Spell display123 124" <tag key={this.props.key}>125"          s~~~~~~~~~~~~~~e126syntax region tsxEscJs127    \ contained128    \ contains=@typescriptValue,@tsxComment,typescriptObjectSpread129    \ matchgroup=typescriptBraces130    \ start=+{+131    \ end=+}+132    \ extend133 134 135"""""""""""""""""""""""""""""""""""""""""""""""""""136" Source the part common with typescriptreact.vim137source <sfile>:h/shared/typescriptcommon.vim138 139 140syntax cluster typescriptExpression add=tsxRegion,tsxFragment141 142hi def link tsxTag htmlTag143hi def link tsxTagName Function144hi def link tsxIntrinsicTagName htmlTagName145hi def link tsxString String146hi def link tsxNameSpace Function147hi def link tsxCommentInvalid Error148hi def link tsxBlockComment Comment149hi def link tsxLineComment Comment150hi def link tsxAttrib Type151hi def link tsxEscJs tsxEscapeJs152hi def link tsxCloseTag htmlTag153hi def link tsxCloseString Identifier154 155let b:current_syntax = "typescriptreact"156if main_syntax == 'typescriptreact'157  unlet main_syntax158endif159 160let &cpo = s:cpo_save161unlet s:cpo_save162 
codekingpro/portable-devtools · Team Ai