From 9adb310cf34be232c8d71a93cabdf76b7f71a9cb Mon Sep 17 00:00:00 2001 From: 231tr0n Date: Sun, 6 Apr 2025 17:28:11 +0200 Subject: [PATCH] runtime(svelte): add matchit support to svelte filetype plugin closes: #17052 Signed-off-by: 231tr0n Signed-off-by: Christian Brabandt --- runtime/ftplugin/svelte.vim | 33 ++++++++++++++++++++++++++++++--- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/runtime/ftplugin/svelte.vim b/runtime/ftplugin/svelte.vim index e0ec4e0ae3..5114de256c 100644 --- a/runtime/ftplugin/svelte.vim +++ b/runtime/ftplugin/svelte.vim @@ -1,13 +1,40 @@ " Vim filetype plugin " Language: svelte " Maintainer: Igor Lacerda -" Last Change: 2024 Jun 09 +" Last Change: 2025 Apr 06 if exists('b:did_ftplugin') finish endif let b:did_ftplugin = 1 -setl commentstring= +let s:cpo_sav = &cpo +set cpo&vim -let b:undo_ftplugin = 'setl cms<' +setlocal matchpairs+=<:> +setlocal commentstring= +setlocal comments=s: + +let b:undo_ftplugin = 'setlocal comments< commentstring< matchpairs<' + +if exists('&omnifunc') + setlocal omnifunc=htmlcomplete#CompleteTags + call htmlcomplete#DetectOmniFlavor() + let b:undo_ftplugin ..= " | setlocal omnifunc<" +endif + +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>,' . + \ '{#\(if\|each\)[^}]*}:{\:else[^}]*}:{\/\(if\|each\)},' . + \ '{#await[^}]*}:{\:then[^}]*}:{\:catch[^}]*}:{\/await},' . + \ '{#snippet[^}]*}:{\/snippet},' . + \ '{#key[^}]*}:{\/key}' + let b:html_set_match_words = 1 + let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words" +endif +let &cpo = s:cpo_sav +unlet! s:cpo_sav