Commit: runtime(sh): set b:match_skip to ignore matches for matchit

3 views
Skip to first unread message

Christian Brabandt

unread,
Mar 9, 2025, 5:30:12 AM3/9/25
to vim...@googlegroups.com
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")
Reply all
Reply to author
Forward
0 new messages