summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorChris Vincent <chris.vincent@hey.com>2023-08-09 09:49:44 -0500
committerGitHub <noreply@github.com>2023-08-09 16:49:44 +0200
commit8967f6c4b9e2071dea9a63dbbbb93f6b9119ae99 (patch)
tree5050dc0ace09b6e28cf0ccf04dcd068026015806 /runtime
parenta13eb2b147915e7e92a6de6c19ce448c7def4057 (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.vim11
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