runtime(sh): update syntax script

Commit: 
https://github.com/vim/vim/commit/54cb514c9a8320d77650a63f0f7405aa8cc5b0d7
Author: Eisuke Kawashima <e-k...@users.noreply.github.com>
Date:   Sat Jan 18 10:11:28 2025 +0100

    runtime(sh): update syntax script
    
    - remove duplicated keywords
    - add bash coproc and COPROC_PID keywords
    
    Signed-off-by: Eisuke Kawashima <e-k...@users.noreply.github.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index d71a96655..67268cdfe 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -6,6 +6,7 @@
 " Last Change:         2024 Mar 04 by Vim Project
 "              2024 Nov 03 by Aliaksei Budavei <0x000c70 AT gmail DOT com> 
(improved bracket expressions, #15941)
 "              2025 Jan 06 add $PS0 to bashSpecialVariables (#16394)
+"              2025 Jan 18 add bash coproc, remove duplicate syn keywords 
(#16467)
 " Version:             208
 " Former URL:          http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
 " For options and settings, please use:      :help ft-sh-syntax
@@ -24,7 +25,7 @@ elseif getline(1) =~ '\<bash\>'
 elseif getline(1) =~ '\<dash\>'
  let b:is_dash      = 1
 elseif !exists("g:is_kornshell") && !exists("g:is_bash") && 
!exists("g:is_posix") && !exists("g:is_sh") && !exists("g:is_dash")
- " user did not specify which shell to use, and 
+ " user did not specify which shell to use, and
  " the script itself does not specify which shell to use. FYI: /bin/sh is 
ambiguous.
  " Assuming /bin/sh is executable, and if its a link, find out what it links 
to.
  let s:shell = ""
@@ -352,7 +353,7 @@ if exists("b:is_bash")
  ShFoldIfDoFor syn region      shCase  contained skipwhite skipnl 
matchgroup=shSnglCase start="\%(\.\|[^#$()'"         ]\)\{-}\zs)"  end=";;" 
end=";&" end=";;&" end="esac"me=s-1      contains=@shCaseList    
nextgroup=shCaseStart,shCase,shComment
 elseif exists("b:is_kornshell")
  ShFoldIfDoFor syn region      shCase  contained skipwhite skipnl 
matchgroup=shSnglCase start="\%(\.\|[^#$()'"         ]\)\{-}\zs)"  end=";;" 
end=";&" end="esac"me=s-1        contains=@shCaseList    
nextgroup=shCaseStart,shCase,shComment
-else                                                                           
                                          
+else
  ShFoldIfDoFor syn region      shCase  contained skipwhite skipnl 
matchgroup=shSnglCase start="\%(\.\|[^#$()'"         ]\)\{-}\zs)"  end=";;" 
end="esac"me=s-1         contains=@shCaseList    
nextgroup=shCaseStart,shCase,shComment
 endif
 ShFoldIfDoFor syn region       shCaseEsac      matchgroup=shConditional 
start="\<case\>" end="\<esac\>"        contains=@shCaseEsacList
@@ -405,7 +406,7 @@ syn region shCmdParenRegion matchgroup=shCmdSubRegion 
start="((\@!" skip='\\\|
 if exists("b:is_bash")
  syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
  syn cluster shCaseList add=bashAdminStatement,bashStatement
- syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES 
BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS 
BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING 
BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH 
BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO 
BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD 
COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT 
COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS 
COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT 
FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD 
HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT 
HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG 
LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO 
LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG 
OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID 
PROMPT_COMMAND PS0 PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE 
READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL 
TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID
+ syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES 
BASH_ARGC BASH_ARGV BASH_CMDS BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING 
BASH_LINENO BASHOPTS BASHPID BASH_REMATCH BASH_SOURCE BASH_SUBSHELL 
BASH_VERSINFO BASH_VERSION BASH_XTRACEFD CDPATH COLUMNS COMP_CWORD COMP_KEY 
COMP_LINE COMP_POINT COMPREPLY COMP_TYPE COMP_WORDBREAKS COMP_WORDS COPROC 
COPROC_PID DIRSTACK EMACS ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNEST GLOBIGNORE 
GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE 
HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG 
LC_ALL LC_COLLATE LC_CTYPE LC_MESSAGES LC_NUMERIC LINENO LINES MACHTYPE MAIL 
MAILCHECK MAILPATH MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS 
POSIXLY_CORRECT PPID PROMPT_COMMAND PS0 PS1 PS2 PS3 PS4 PWD RANDOM 
READLINE_LINE READLINE_POINT REPLY SECONDS SHELL SHELLOPTS SHLVL TIMEFORMAT 
TIMEOUT TMPDIR UID
  syn keyword bashStatement chmod clear complete du egrep expr fgrep find 
gnufind gnugrep grep head less ls mkdir mv rm rmdir rpm sed sleep sort strip 
tail
  syn keyword bashAdminStatement daemon killall killproc nice reload restart 
start status stop
  syn keyword bashStatement     command compgen
@@ -540,6 +541,7 @@ if !exists("b:is_posix")
 endif
 
 if exists("b:is_bash")
+ syn keyword shFunctionKey coproc
  ShFoldFunctions syn region shFunctionOne      matchgroup=shFunction 
start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*{"                end="}" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shFunctionStart,shQuickComment
  ShFoldFunctions syn region shFunctionTwo      matchgroup=shFunction 
start="\%(do\)\@!\&\<[A-Za-z_0-9:][-a-zA-Z_0-9:]*\>\s*\%(()\)\=\_s*{"     
end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl 
nextgroup=shFunctionStart,shQuickComment
  ShFoldFunctions syn region shFunctionThree    matchgroup=shFunction 
start="^\s*[A-Za-z_0-9:][-a-zA-Z_0-9:]*\s*()\_s*("                end=")" 
contains=@shFunctionList                 skipwhite skipnl 
nextgroup=shFunctionStart,shQuickComment
@@ -693,10 +695,10 @@ if exists("b:is_kornshell") || exists("b:is_posix")
 " Additional bash Keywords: {{{1
 " =====================
 elseif exists("b:is_bash")
- syn keyword shStatement bg builtin disown export false fg getopts jobs let 
printf sleep true unalias
+ syn keyword shStatement bg builtin disown export false fg getopts jobs let 
printf true unalias
  syn keyword shStatement typeset nextgroup=shSetOption
  syn keyword shStatement fc hash history source suspend times type
- syn keyword shStatement bind builtin caller compopt declare dirs disown 
enable export help logout local mapfile popd pushd readarray shopt source 
typeset
+ syn keyword shStatement bind caller compopt declare dirs enable help logout 
local mapfile popd pushd readarray shopt typeset
 else
  syn keyword shStatement login newgrp
 endif

-- 
-- 
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/E1tZ4v8-002Ski-Md%40256bit.org.

Raspunde prin e-mail lui