diff options
Diffstat (limited to 'after/syntax/jsx.vim')
-rw-r--r-- | after/syntax/jsx.vim | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/after/syntax/jsx.vim b/after/syntax/jsx.vim deleted file mode 100644 index ac4dd616..00000000 --- a/after/syntax/jsx.vim +++ /dev/null @@ -1,83 +0,0 @@ -if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'jsx') != -1 - finish -endif - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Vim syntax file -" -" Language: JSX (JavaScript) -" Maintainer: Max Wang <mxawng@gmail.com> -" Depends: pangloss/vim-javascript -" -" CREDITS: Inspired by Facebook. -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -" Prologue; load in XML syntax. -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 - -" Officially, vim-jsx depends on the pangloss/vim-javascript syntax package -" (and is tested against it exclusively). However, in practice, we make some -" effort towards compatibility with other packages. -" -" These are the plugin-to-syntax-element correspondences: -" -" - pangloss/vim-javascript: jsBlock, jsExpression -" - jelera/vim-javascript-syntax: javascriptBlock -" - othree/yajs.vim: javascriptNoReserved - - -" JSX attributes should color as JS. Note the trivial end pattern; we let -" jsBlock take care of ending the region. -syn region xmlString contained start=+{+ end=++ contains=jsBlock,javascriptBlock - -" JSX comments inside XML tag should color as comment. Note the trivial end pattern; we let -" jsComment take care of ending the region. -syn region xmlString contained start=+//+ end=++ contains=jsComment - -" JSX child blocks behave just like JSX attributes, except that (a) they are -" syntactically distinct, and (b) they need the syn-extend argument, or else -" nested XML end-tag patterns may end the outer jsxRegion. -syn region jsxChild contained start=+{+ end=++ contains=jsBlock,javascriptBlock - \ extend - -" Highlight JSX regions as XML; recursively match. -" -" Note that we prohibit JSX tags from having a < or word character immediately -" preceding it, to avoid conflicts with, respectively, the left shift operator -" and generic Flow type annotations (http://flowtype.org/). -syn region jsxRegion - \ contains=@Spell,@XMLSyntax,jsxRegion,jsxChild,jsBlock,javascriptBlock - \ start=+\%(<\|\w\)\@<!<\z([a-zA-Z_][a-zA-Z0-9:\-.]*\>[:,]\@!\)\([^>]*>(\)\@!+ - \ skip=+<!--\_.\{-}-->+ - \ end=+</\z1\_\s\{-}>+ - \ end=+/>+ - \ keepend - \ extend - -" Shorthand fragment support -" -" Note that since the main jsxRegion contains @XMLSyntax, we cannot simply -" adjust the regex above since @XMLSyntax will highlight the opening `<` as an -" XMLError. Instead we create a new group with the same name that does not -" include @XMLSyntax and instead uses matchgroup to get the same highlighting. -syn region jsxRegion - \ contains=@Spell,jsxRegion,jsxChild,jsBlock,javascriptBlock - \ matchgroup=xmlTag - \ start=/<>/ - \ end=/<\/>/ - \ keepend - \ extend - -" Add jsxRegion to the lowest-level JS syntax cluster. -syn cluster jsExpression add=jsxRegion - -" Allow jsxRegion to contain reserved words. -syn cluster javascriptNoReserved add=jsxRegion |