runtime(sh): Update syntax, improve wildcard character class matching

Commit: 
https://github.com/vim/vim/commit/839b79eeb33a41a5b368ad56aeaaa94f5fbace92
Author: Doug Kearns <dougkea...@gmail.com>
Date:   Sat May 10 20:57:10 2025 +0200

    runtime(sh): Update syntax, improve wildcard character class matching
    
    - Default to POSIX supported classes.
    - Add a KornShell specific class list.
    - Remove "or" from the Bash class list, presumably a typo.
    
    closes: #17293
    
    Signed-off-by: Christian Brabandt <c...@256bit.org>
    Signed-off-by: Doug Kearns <dougkea...@gmail.com>

diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index c04b16fa0..b0e02b981 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -13,6 +13,7 @@
 "              2025 Apr 29 match escaped chars in test operands (#17221)
 "              2025 May 06 improve single-quote string matching in parameter 
expansions
 "              2025 May 06 match KornShell compound arrays
+"              2025 May 10 improve wildcard character class lists
 " Version:             208
 " Former URL:          http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
@@ -325,7 +326,7 @@ endif
 " Character Class In Range: {{{1
 " =========================
 syn match   shCharClassOther   contained       "\[:\w\{-}:\]"
-syn match   shCharClass        contained       
"\[:\(backspace\|escape\|return\|xdigit\|alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|tab\):\]"
+syn match   shCharClass        contained       
"\[:\%(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\):\]"
 syn match   shCollSymb contained       "\[\..\{-}\.\]"
 syn match   shEqClass  contained       "\[=.\{-}=\]"
 
@@ -378,7 +379,9 @@ syn region  shCaseDoubleQuote       matchgroup=shQuote 
start=+"+ skip=+\\\|\.+ end=
 syn region  shCaseCommandSub   start=+`+ skip=+\\\|\.+ end=+`+         
contains=@shCommandSubList              skipwhite skipnl nextgroup=shCaseBar    
contained
 call s:GenerateBracketExpressionItems({'itemGroup': 'shCaseRange', 
'bracketGroup': 'shBracketExprDelim', 'extraArgs': 'skip=+\\+ contained'})
 if exists("b:is_bash")
- syn match   shCharClass       
'\[:\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|or\|xdigit\):\]'
                       contained
+ syn match   shCharClass       
"\[:\%(alnum\|alpha\|ascii\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]"
   contained
+elseif exists("b:is_kornshell")
+ syn match   shCharClass       
"\[:\%(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|word\|xdigit\):\]"
  contained
 endif
 " Misc: {{{1
 "======

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion visit 
https://groups.google.com/d/msgid/vim_dev/E1uDpQb-002TRG-5L%40256bit.org.

Raspunde prin e-mail lui