From: Chris Vincent Date: Wed, 9 Aug 2023 14:49:44 +0000 (-0500) Subject: feat(heex): borrow matchit support from html (#12717) X-Git-Tag: v9.0.1680~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8967f6c4b9e2071dea9a63dbbbb93f6b9119ae99;p=thirdparty%2Fvim.git 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 --- 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