if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vue') == -1 " Vim syntax file " Language: Vue.js " Maintainer: Eduardo San Martin Morote if exists("b:current_syntax") finish endif if !exists("s:syntaxes") " Search available syntax files. function s:search_syntaxes(...) let syntaxes = {} let names = a:000 for name in names let syntaxes[name] = 0 endfor for path in split(&runtimepath, ',') if isdirectory(path . '/syntax') for name in names let syntaxes[name] = syntaxes[name] || filereadable(path . '/syntax/' . name . '.vim') endfor endif endfor return syntaxes endfunction let s:syntaxes = s:search_syntaxes('pug', 'slm', 'coffee', 'stylus', 'sass', 'scss', 'less', 'typescript') endif syntax include @HTML syntax/html.vim unlet! b:current_syntax syntax region html keepend start=/^]*>/ end=/^<\/template>/ contains=@HTML fold if s:syntaxes.pug syntax include @PUG syntax/pug.vim unlet! b:current_syntax syntax region pug keepend start=/" contains=@PUG fold syntax region pug keepend start=/" contains=@PUG fold endif if s:syntaxes.slm syntax include @SLM syntax/slm.vim unlet! b:current_syntax syntax region slm keepend start=/" contains=@SLM fold endif syntax include @JS syntax/javascript.vim unlet! b:current_syntax syntax region javascript keepend matchgroup=Delimiter start=// end="" contains=@JS fold if s:syntaxes.typescript syntax include @TS syntax/typescript.vim unlet! b:current_syntax syntax region typescript keepend matchgroup=Delimiter start=/" contains=@TS fold endif if s:syntaxes.coffee syntax include @COFFEE syntax/coffee.vim unlet! b:current_syntax " Matchgroup seems to be necessary for coffee syntax region coffee keepend matchgroup=Delimiter start="" contains=@COFFEE fold endif syntax include @CSS syntax/css.vim unlet! b:current_syntax syntax region css keepend start=/]*>/ end="" contains=@CSS fold if s:syntaxes.stylus syntax include @stylus syntax/stylus.vim unlet! b:current_syntax syntax region stylus keepend start=/" contains=@stylus fold endif if s:syntaxes.sass syntax include @sass syntax/sass.vim unlet! b:current_syntax syntax region sass keepend start=/" contains=@sass fold endif if s:syntaxes.scss syntax include @scss syntax/scss.vim unlet! b:current_syntax syntax region scss keepend start=/" contains=@scss fold endif if s:syntaxes.less syntax include @less syntax/less.vim unlet! b:current_syntax syntax region less keepend matchgroup=PreProc start=/" contains=@less fold endif let b:current_syntax = "vue" endif