diff options
author | Chris Vincent <chris.vincent@hey.com> | 2023-08-09 09:49:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-09 16:49:44 +0200 |
commit | 8967f6c4b9e2071dea9a63dbbbb93f6b9119ae99 (patch) | |
tree | 5050dc0ace09b6e28cf0ccf04dcd068026015806 /runtime | |
parent | a13eb2b147915e7e92a6de6c19ce448c7def4057 (diff) |
feat(heex): borrow matchit support from html (#12717)
* feat(heex): borrow matchit support from html
Makes % support behave the same in heex as in html. For example, quickly moving the cursor between opening and closing tags.
* Remove unnecessary line; define b:undo_ftplugin first
* Remove b:html_set_match_words
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/ftplugin/heex.vim | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/ftplugin/heex.vim b/runtime/ftplugin/heex.vim index 5274d59fbf..f79c69d2aa 100644 --- a/runtime/ftplugin/heex.vim +++ b/runtime/ftplugin/heex.vim @@ -14,3 +14,14 @@ setlocal comments=:<%!-- setlocal commentstring=<%!--\ %s\ --%> let b:undo_ftplugin = 'set sw< sts< et< com< cms<' + +" HTML: thanks to Johannes Zellner and Benji Fisher. +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_ignorecase = 1 + let b:match_words = '<!--:-->,' .. + \ '<:>,' .. + \ '<\@<=[ou]l\>[^>]*\%(>\|$\):<\@<=li\>:<\@<=/[ou]l>,' .. + \ '<\@<=dl\>[^>]*\%(>\|$\):<\@<=d[td]\>:<\@<=/dl>,' .. + \ '<\@<=\([^/!][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' + let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words" +endif |