diff --git a/indent/vue.vim b/indent/vue.vim index f66bd3d..32a60ac 100644 --- a/indent/vue.vim +++ b/indent/vue.vim @@ -19,7 +19,10 @@ function! s:Init() " To adjust HTML let s:empty_tagname = '(area|base|br|col|embed|hr|input|img|' \.'keygen|link|meta|param|source|track|wbr)' - let s:empty_tag = '\v\<'.s:empty_tagname.'.*(/)@' + " Empty tag ending with '>' but not '/>'. '>' in quotes like + " @input="(e) => update(e)" doesn't end the tag + let s:empty_tag = '\v\<'.s:empty_tagname + \ .'>("[^"]*"|''[^'']*''|[^\>"''/]|/(\>)@!)*\>' let s:empty_tag_start = '\v\<'.s:empty_tagname.'[^>]*$' let s:empty_tag_end = '\v^\s*[^<>/]*\/?\>\s*' let s:tag_start = '\v^\s*\<\w*' " < diff --git a/test/cases/shared-empty-tag.vim b/test/cases/shared-empty-tag.vim new file mode 100644 index 0000000..b378874 --- /dev/null +++ b/test/cases/shared-empty-tag.vim @@ -0,0 +1,7 @@ +" Empty tags like with or without '/>', and '>' in attribute +" expressions +let g:test_flatten = 1 + +function! Check() + call ExpectIndentEachLine() +endfunction diff --git a/test/cases/shared-empty-tag.vue b/test/cases/shared-empty-tag.vue new file mode 100644 index 0000000..2c7108c --- /dev/null +++ b/test/cases/shared-empty-tag.vue @@ -0,0 +1,12 @@ +