mirror of
https://github.com/leafOfTree/vim-vue-plugin.git
synced 2026-11-02 02:17:33 +08:00
Fix indent after an empty tag with '>' in attributes
A line like <input @input="(e) => update(e)" /> was taken as an empty tag without '/>', as '>' in '=>' matched its end, so the next line was indented one level less. Skip '>' in quotes, and don't take '/>' as the end of an empty tag.
This commit is contained in:
3 files changed
+23
-1
No files matched your search
+4
-1
@@ -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*' " <
|
||||
|
||||
Reference in new issue
Block a user