aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2025-04-06 17:31:25 +0200
committerChristian Clason <ch.clason+github@icloud.com>2025-04-07 10:19:00 +0200
commit1867f2a830dbdcc0fdd135161f25d147eec8e903 (patch)
treeab88b03c8009f67caee8df995af64b8a8e3ef1cb
parent2d11b981bfbb7816d88a69b43b758f3a3f515b96 (diff)
downloadrneovim-1867f2a830dbdcc0fdd135161f25d147eec8e903.tar.gz
rneovim-1867f2a830dbdcc0fdd135161f25d147eec8e903.tar.bz2
rneovim-1867f2a830dbdcc0fdd135161f25d147eec8e903.zip
vim-patch:9adb310: runtime(svelte): add matchit support to svelte filetype plugin
closes: vim/vim#17052 https://github.com/vim/vim/commit/9adb310cf34be232c8d71a93cabdf76b7f71a9cb Co-authored-by: 231tr0n <zeltronsrikar@gmail.com>
-rw-r--r--runtime/ftplugin/svelte.vim33
1 files 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 <igorlafarsi@gmail.com>
-" Last Change: 2024 Jun 09
+" Last Change: 2025 Apr 06
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
-setl commentstring=<!--\ %s\ -->
+let s:cpo_sav = &cpo
+set cpo&vim
-let b:undo_ftplugin = 'setl cms<'
+setlocal matchpairs+=<:>
+setlocal commentstring=<!--\ %s\ -->
+setlocal comments=s:<!--,m:\ \ \ \ ,e:-->
+
+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