From: Simão Afonso Date: Thu, 15 Jan 2026 20:27:02 +0000 (+0000) Subject: runtime(csh): Support negated if in matchit X-Git-Tag: v9.1.2087~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f25c343b2639d393544106c21b3b0b58caa3adca;p=thirdparty%2Fvim.git runtime(csh): Support negated if in matchit Currently, the matchit configuration chokes on valid syntax like: ```csh if !(true) then true endif ``` Make sure the negation syntax is supported. closes: #19172 Signed-off-by: Simão Afonso Signed-off-by: Christian Brabandt --- diff --git a/runtime/ftplugin/csh.vim b/runtime/ftplugin/csh.vim index 74666b9680..6f8201b99d 100644 --- a/runtime/ftplugin/csh.vim +++ b/runtime/ftplugin/csh.vim @@ -5,6 +5,7 @@ " Contributor: Johannes Zellner " Last Change: 2024 Jan 14 " 2024 May 23 by Riley Bruins ('commentstring') +" 2026 Jan 15 improved matchit support if exists("b:did_ftplugin") finish @@ -31,7 +32,7 @@ let b:undo_ftplugin = "setlocal com< cms< fo<" if exists("loaded_matchit") && !exists("b:match_words") let s:line_start = '\%(^\s*\)\@<=' let b:match_words = - \ s:line_start .. 'if\s*(.*)\s*then\>:' .. + \ s:line_start .. 'if\s*!\?\s*(.*)\s*then\>:' .. \ s:line_start .. 'else\s\+if\s*(.*)\s*then\>:' .. s:line_start .. 'else\>:' .. \ s:line_start .. 'endif\>,' .. \ s:line_start .. '\%(\