""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " Vim syntax file " " Language: Vue (Wepy) " Maintainer: leaf " Depends: pangloss/vim-javascript " " CREDITS: Inspired by mxw/vim-jsx. " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" unlet b:current_syntax " runtime! syntax/html.vim syn include @HTMLSyntax syntax/html.vim unlet! b:current_syntax syn include @CSSSyntax syntax/css.vim let b:current_syntax='vue' " Find tag + keepend contains=@jsAll,jsImport,jsExport syn region vueStyle start=++ end=++ keepend contains=@CSSSyntax,@HTMLSyntax hi def link vueTag htmlTagName hi! link vueTemplate vueTag hi! link vueScript vueTag hi! link vueStyle vueTag " 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 " Vue 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