runtime(sh): set b:match_skip to ignore matches for matchit
Commit:
https://github.com/vim/vim/commit/d49ba7b92a14e6f3c1c413d396df72d36e934f78
Author: Christian Brabandt <
c...@256bit.org>
Date: Sun Mar 9 10:15:39 2025 +0100
runtime(sh): set b:match_skip to ignore matches for matchit
related:
https://github.com/vim/vim/issues/16801
closes: chrisbra/matchithttps://
github.com/vim/vim/issues/50
closes: #16834
Signed-off-by: Doug Kearns <
dougk...@gmail.com>
Signed-off-by: Christian Brabandt <
c...@256bit.org>
diff --git a/runtime/ftplugin/sh.vim b/runtime/ftplugin/sh.vim
index 54ae73b67..0038ee7dd 100644
--- a/runtime/ftplugin/sh.vim
+++ b/runtime/ftplugin/sh.vim
@@ -6,6 +6,7 @@
" Eisuke Kawashima
" Last Change: 2024 Sep 19 by Vim Project (compiler shellcheck)
" 2024 Dec 29 by Vim Project (improve setting shellcheck compiler)
+" 2025 Mar 09 by Vim Project (set b:match_skip)
if exists("b:did_ftplugin")
finish
@@ -30,7 +31,8 @@ if exists("loaded_matchit") && !exists("b:match_words")
\ s:sol .. '\%(for\|while\)\>:' .. s:sol .. 'done\>,' ..
\ s:sol .. 'case\>:' .. s:sol .. 'esac\>'
unlet s:sol
- let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
+ let b:match_skip = "synIDattr(synID(line('.'),col('.'),0),'name') =~ 'shSnglCase'"
+ let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:match_skip"
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")