]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
feat(heex): borrow matchit support from html (#12717)
authorChris Vincent <chris.vincent@hey.com>
Wed, 9 Aug 2023 14:49:44 +0000 (09:49 -0500)
committerGitHub <noreply@github.com>
Wed, 9 Aug 2023 14:49:44 +0000 (16:49 +0200)
* 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

runtime/ftplugin/heex.vim

index 5274d59fbff7f59cdd590d7bd993ca31d908d459..f79c69d2aa81bc41bc588ddad6fe8e2e815beacc 100644 (file)
@@ -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