feat: support vim-emmet filetype detection in .vue

This commit is contained in:
yemai
2019-08-09 12:02:00 +08:00
parent 73b7971ba7
commit bdb7ed2d82
3 changed files with 16 additions and 16 deletions

View File

@@ -149,7 +149,7 @@ function! GetVueIndent()
call s:Log('current line is vue (end) tag or prev line is vue end tag')
let ind = 0
elseif s:has_init_indent
if s:SynVueScope(cursyn) && ind == 0
if s:SynVueScriptOrStyle(cursyn) && ind == 0
call s:Log('add initial indent')
let ind = &sw
endif
@@ -169,23 +169,23 @@ function! s:SynsEOL(lnum)
endfunction
function! s:SynHTML(syn)
return a:syn =~? '\v^(vueTemplate)'
return a:syn =~? '\v^(htmlVueTemplate)'
endfunction
function! s:SynPug(syn)
return a:syn =~? '\v^(vueTemplatePug)'
return a:syn =~? '\v^(pugVueTemplate)'
endfunction
function! s:SynSASS(syn)
return a:syn =~? '\v^(vueStyleSASS)'
return a:syn =~? '\v^(sassVueStyle)'
endfunction
function! s:SynCSS(syn)
return a:syn =~? '\v^(vueStyle)'
return a:syn =~? '\v^(cssVueStyle)'
endfunction
function! s:SynVueScope(syn)
return a:syn =~? '\v^(vueStyle)|(vueScript)'
function! s:SynVueScriptOrStyle(syn)
return a:syn =~? '\v(vueStyle)|(vueScript)'
endfunction
function! s:PrevMultilineEmptyTag(lnum)
@@ -215,11 +215,11 @@ function! GetVueTag()
let cursyns = s:SynsEOL(lnum)
let first_syn = get(cursyns, 0)
if first_syn =~ 'vueTemplate.*'
if first_syn =~ '.*VueTemplate'
let tag = 'template'
elseif first_syn =~ 'vueScript.*'
let tag = 'script'
elseif first_syn =~ 'vueStyle.*'
elseif first_syn =~ '.*vueStyle'
let tag = 'style'
else
let tag = ''

View File

@@ -36,7 +36,7 @@ syntax region VueExpression
\ start="{{"
\ end="}}"
syntax region VueExpression
\ containedin=vueTemplate,VueValue,htmlString,htmlValue
\ containedin=htmlVueTemplate,pugVueTemplate,VueValue,htmlString,htmlValue
\ contains=@simpleJavascriptExpression
\ matchgroup=VueBrace
\ start="{{"

View File

@@ -138,11 +138,11 @@ syntax match htmlArg '\v<data(-[.a-z0-9]+)+>' containedin=@HTMLSyntax
" Syntax highlight {{{
"
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
syntax region vueTemplate
syntax region htmlVueTemplate
\ start=+<template\(\s.\{-}\)\?>+
\ end=+^</template>+
\ keepend contains=@HTMLSyntax
syntax region vueTemplatePug
syntax region pugVueTemplate
\ start=+<template lang="pug"\(\s.\{-}\)\?>+
\ end=+</template>+
\ keepend contains=@PugSyntax,vueTag
@@ -152,19 +152,19 @@ syntax region vueScript
\ end=+</script>+
\ keepend contains=@htmlJavaScript,jsImport,jsExport,vueTag
syntax region vueStyle
syntax region cssVueStyle
\ start=+<style\(\s.\{-}\)\?>+
\ end=+</style>+
\ keepend contains=@htmlCss,vueTag
syntax region vueStyleLESS
syntax region lessVueStyle
\ start=+<style lang="less"\(\s.\{-}\)\?>+
\ end=+</style>+
\ keepend contains=@LessSyntax,vueTag
syntax region vueStyleSASS
syntax region sassVueStyle
\ start=+<style lang="sass"\(\s.\{-}\)\?>+
\ end=+</style>+
\ keepend contains=@SassSyntax,vueTag
syntax region vueStyleSCSS
syntax region scssVueStyle
\ start=+<style lang="scss"\(\s.\{-}\)\?>+
\ end=+</style>+
\ keepend contains=@SassSyntax,vueTag