diff --git a/syntax/vue.vim b/syntax/vue.vim
index edfafa6..4aeddd5 100644
--- a/syntax/vue.vim
+++ b/syntax/vue.vim
@@ -124,12 +124,6 @@ function! s:SetSyntax(block, syntax, has_lang)
\.' end=+'.end.'+'
\.' keepend contains='.syntax_group.', vueTag'
- " Don't sync to a block ending on the same line, like
- "
- let sync_start = start.'\(.*'.end_tag.'\)\@!'
- execute 'syntax sync match vueSync groupthere '.name.' +'.sync_start.'+'
- execute 'syntax sync match vueSync groupthere NONE +'.end.'+'
-
" Block like
let oneline = start.'.*'.end_tag
execute 'syntax match '.name.' fold '
@@ -138,7 +132,10 @@ function! s:SetSyntax(block, syntax, has_lang)
endfunction
function! s:SetBlockSyntax(config_syntax)
+ " Parse from start, as syncing by block start doesn't restore states inside
+ " the block like a multi-line css rule
syntax sync clear
+ syntax sync fromstart
for [block, syntax] in items(a:config_syntax)
let type = type(syntax)