From 26c678b08d88b658ec6069eb2ada2b2ba21c5d39 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Sat, 8 Jun 2019 13:25:41 +0200 Subject: Change jsx/tsx provider, closes #400 --- after/syntax/jsx.vim | 83 ---------------------------------------------------- 1 file changed, 83 deletions(-) delete mode 100644 after/syntax/jsx.vim (limited to 'after/syntax/jsx.vim') 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 -" 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\)\@[:,]\@!\)\([^>]*>(\)\@!+ - \ skip=++ - \ end=++ - \ 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 -- cgit v1.2.3