From f5b90ba0d8b82d5e785780563282a7fd9570089a Mon Sep 17 00:00:00 2001 From: yemai Date: Fri, 17 May 2019 19:14:28 +0800 Subject: [PATCH] fix: sass and less syntax group conflict --- syntax/vue.vim | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/syntax/vue.vim b/syntax/vue.vim index ce6d68b..bd6bb41 100644 --- a/syntax/vue.vim +++ b/syntax/vue.vim @@ -8,7 +8,7 @@ " """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" if exists("b:current_syntax") && b:current_syntax == 'vue' - finish + finish endif let s:load_full_syntax = exists("g:vim_vue_plugin_load_full_syntax") @@ -56,20 +56,21 @@ if s:use_pug call s:LoadFullSyntax('@PugSyntax', 'pug') endif -" If less is enabled, load less syntax -if s:use_less - call s:LoadFullSyntax('@LessSyntax', 'less') - syn clear cssDefinition - syn region lessDefinition matchgroup=cssBraces contains=@LessSyntax - \ start="{" - \ end="}" -endif - " If sass is enabled, load sass syntax if s:use_sass call s:LoadFullSyntax('@SassSyntax', 'sass') - syn clear cssDefinition - syn region sassDefinition matchgroup=cssBraces contains=@SassSyntax +endif + +" If less is enabled, load less syntax +if s:use_less + call s:LoadFullSyntax('@LessSyntax', 'less') +endif + +if s:use_sass || s:use_less + syn region lessDefinition transparent matchgroup=cssBraces contains=@LessSyntax + \ start="{" + \ end="}" + syn region sassDefinition transparent matchgroup=cssBraces contains=@SassSyntax \ start="{" \ end="}" endif @@ -108,7 +109,7 @@ syn region vueStyleSCSS \ end=++ \ keepend contains=@SassSyntax,vueTag -syn region vueTag contained start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg +syn region vueTag contained start=+<[^/]+ end=+>+ contains=htmlTagN,htmlString,htmlArg fold syn region vueTag contained start=++ contains=htmlTagN,htmlString,htmlArg " syn keyword vueTagName containedin=htmlTagN template script style