From bdb7ed2d8258ab4470d83db263e4db7f63c54ac1 Mon Sep 17 00:00:00 2001 From: yemai Date: Fri, 9 Aug 2019 12:02:00 +0800 Subject: [PATCH] feat: support vim-emmet filetype detection in .vue --- indent/vue.vim | 18 +++++++++--------- syntax/vue-html.vim | 2 +- syntax/vue.vim | 12 ++++++------ 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/indent/vue.vim b/indent/vue.vim index 7a9eaef..208bafe 100644 --- a/indent/vue.vim +++ b/indent/vue.vim @@ -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 = '' diff --git a/syntax/vue-html.vim b/syntax/vue-html.vim index 138991f..9611f2a 100644 --- a/syntax/vue-html.vim +++ b/syntax/vue-html.vim @@ -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="{{" diff --git a/syntax/vue.vim b/syntax/vue.vim index 7a6f1ec..1793814 100644 --- a/syntax/vue.vim +++ b/syntax/vue.vim @@ -138,11 +138,11 @@ syntax match htmlArg '\v' containedin=@HTMLSyntax " Syntax highlight {{{ " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -syntax region vueTemplate +syntax region htmlVueTemplate \ start=++ \ end=+^+ \ keepend contains=@HTMLSyntax -syntax region vueTemplatePug +syntax region pugVueTemplate \ start=++ \ keepend contains=@PugSyntax,vueTag @@ -152,19 +152,19 @@ syntax region vueScript \ end=++ \ keepend contains=@htmlJavaScript,jsImport,jsExport,vueTag -syntax region vueStyle +syntax region cssVueStyle \ start=++ \ end=++ \ keepend contains=@htmlCss,vueTag -syntax region vueStyleLESS +syntax region lessVueStyle \ start=++ \ keepend contains=@LessSyntax,vueTag -syntax region vueStyleSASS +syntax region sassVueStyle \ start=++ \ keepend contains=@SassSyntax,vueTag -syntax region vueStyleSCSS +syntax region scssVueStyle \ start=++ \ keepend contains=@SassSyntax,vueTag