diff options
| author | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-08 13:03:18 +0200 | 
|---|---|---|
| committer | Adam Stankiewicz <sheerun@sher.pl> | 2019-06-08 13:03:32 +0200 | 
| commit | 0217fb50fe40a631cc220462520249e36dbc919a (patch) | |
| tree | 804a36631e33f021c81660de57b38c67bac5b237 /after/syntax | |
| parent | 5023da62ecb8a008a9dc67b29516ac707f07f3a0 (diff) | |
| download | vim-polyglot-0217fb50fe40a631cc220462520249e36dbc919a.tar.gz vim-polyglot-0217fb50fe40a631cc220462520249e36dbc919a.zip | |
Add tsx provider, closes #330
Diffstat (limited to '')
| -rw-r--r-- | after/syntax/tsx.vim | 87 | 
1 files changed, 87 insertions, 0 deletions
| diff --git a/after/syntax/tsx.vim b/after/syntax/tsx.vim new file mode 100644 index 00000000..05bfc9ea --- /dev/null +++ b/after/syntax/tsx.vim @@ -0,0 +1,87 @@ +if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'tsx') != -1 +  finish +endif + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Vim syntax file +" +" Language: TSX (JavaScript) +" Maintainer: Ian Ker-Seymer <i.kerseymer@gmail.com> +" Depends: leafgarland/typescript-vim +" +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +if exists('b:current_syntax') +  let s:current_syntax=b:current_syntax +  unlet b:current_syntax +endif + +syn include @XMLSyntax syntax/xml.vim + +if exists('s:current_syntax') +  let b:current_syntax=s:current_syntax +endif + +syn region embeddedTs +      \ matchgroup=NONE +      \ start=+{+ +      \ end=+}+ +      \ contains=@Spell,@typescriptAll,xmlEntity,tsxRegion +      \ contained + +" Add embeddedTs to everything where xmlString is used to allow for +" both string highlighting and @typescriptAll highlighting +syn region   xmlTag +      \ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+ +      \ matchgroup=xmlTag end=+>+ +      \ contained +      \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook,embeddedTs + +syn region xmlProcessing +      \ matchgroup=xmlProcessingDelim +      \ start="<?" +      \ end="?>" +      \ contains=xmlAttrib,xmlEqual,xmlString,embeddedTs + + +if exists('g:xml_syntax_folding') +  " DTD -- we use dtd.vim here +  syn region  xmlDocType matchgroup=xmlDocTypeDecl +        \ start="<!DOCTYPE"he=s+2,rs=s+2 +        \ end=">" +        \ fold +        \ contains=xmlDocTypeKeyword,xmlInlineDTD,xmlString,embeddedTs +else +  syn region  xmlDocType matchgroup=xmlDocTypeDecl +        \ start="<!DOCTYPE"he=s+2,rs=s+2 +        \ end=">" +        \ contains=xmlDocTypeKeyword,xmlInlineDTD,xmlString,embeddedTs +endif + + +if exists('g:xml_syntax_folding') +  syn region xmlTag +        \ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+ +        \ matchgroup=xmlTag end=+>+ +        \ contained +        \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook,embeddedTs +else +  syn region xmlTag +        \ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+ +        \ matchgroup=xmlTag end=+>+ +        \ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook,embeddedTs +endif + + +syn region tsxRegion +      \ contains=@Spell,@XMLSyntax,tsxRegion,@typescriptAll +      \ start=+\%(<\|\w\)\@<!<\z([a-zA-Z][a-zA-Z0-9:\-.]*\)+ +      \ skip=+<!--\_.\{-}-->+ +      \ end=+</\z1\_\s\{-}>+ +      \ end=+/>+ +      \ keepend +      \ extend + +hi def link embeddedTs NONE + +syn cluster @typescriptAll add=tsxRegion | 
