vim-patch:f25c343: 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: vim/vim#19172

f25c343b26

Co-authored-by: Simão Afonso <simao.afonso@powertools-tech.com>
This commit is contained in:
zeertzjq
2026-01-16 07:27:06 +08:00
parent 5144d802c3
commit b94061a71d

View File

@@ -5,6 +5,7 @@
" Contributor: Johannes Zellner <johannes@zellner.org>
" 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 .. '\%(\<foreach\s\+\h\w*\|while\)\s*(:' ..