From: Phạm Bình An Date: Fri, 20 Mar 2026 21:29:57 +0000 (+0000) Subject: runtime(fish): Add matchit support to filetype plugin X-Git-Tag: v9.2.0211~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce4fbda99285c991df3c1f26e248c88bc938ba9e;p=thirdparty%2Fvim.git runtime(fish): Add matchit support to filetype plugin closes: #19701 Co-authored-by: Doug Kearns Signed-off-by: Phạm Bình An Signed-off-by: Christian Brabandt --- diff --git a/runtime/ftplugin/fish.vim b/runtime/ftplugin/fish.vim index 55d7ea8dd9..685ff4d170 100644 --- a/runtime/ftplugin/fish.vim +++ b/runtime/ftplugin/fish.vim @@ -5,10 +5,15 @@ " Last Change: February 1, 2023 " 2023 Aug 28 by Vim Project (undo_ftplugin) " 2024 May 23 by Riley Bruins ('commentstring') +" 2026 Mar 16 by Phạm Bình An (add matchit support) if exists("b:did_ftplugin") finish endif + +let s:saved_cpo = &cpo +set cpo-=C + let b:did_ftplugin = 1 setlocal iskeyword=@,48-57,_,192-255,-,. @@ -17,3 +22,20 @@ setlocal commentstring=#\ %s setlocal formatoptions+=crjq let b:undo_ftplugin = "setl cms< com< fo< isk<" + +" Define patterns for the matchit plugin +if exists("loaded_matchit") && !exists("b:match_words") + let b:match_words = + \ '\<\%(else\s\+\)\@\|\<\%(switch\|begin\|function\|while\|for\)\>:' .. + \ '\\|\:' .. + \ '\' + + let b:match_ignorecase = 0 + let b:match_skip = "S:keyword" + + let b:undo_ftplugin ..= " | unlet! b:match_words b:match_ignorecase b:match_skip" +endif + +" Restore 'cpo' to its original value +let &cpo = s:saved_cpo +unlet s:saved_cpo