runtime(dosbatch): Add syn-sync to syntax file

Commit: 
https://github.com/vim/vim/commit/11c92be8974f04ab12ff3f9cd89a692bbd6c46d9
Author: Ken Takata <ken...@csc.jp>
Date:   Wed Aug 14 21:56:42 2024 +0200

    runtime(dosbatch): Add syn-sync to syntax file
    
    Closing parentheses were often highlighted as errors.
    Add a syntax sync command to reduce the error.
    
    Also fix that `defined` was not highlighted as an operator inside
    parentheses.  E.g.:
    ```
    if defined foo (
        if defined bar (
            ...
        )
    )
    ```
    The first `defined` was highlighted but the second one was not.
    
    related: #15453
    
    Signed-off-by: Ken Takata <ken...@csc.jp>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/runtime/syntax/dosbatch.vim b/runtime/syntax/dosbatch.vim
index 55601996a..761fac0dc 100644
--- a/runtime/syntax/dosbatch.vim
+++ b/runtime/syntax/dosbatch.vim
@@ -3,6 +3,7 @@
 " Maintainer:  Mike Williams <mrmrdu...@gmail.com>
 " Filenames:    *.bat
 " Last Change: 3rd February 2024
+" 2024 Aug 14 by Vim Project: improve syntax (#15453)
 "
 " Options Flags:
 " dosbatch_cmdextversion       - 1 = Windows NT, 2 = Windows 2000 [default]
@@ -45,7 +46,7 @@ syn match dosbatchString      
"\<echo\([^)>|]\|\^\@<=[)>|]\)*"lc=4 contains=dosbatchV
 syn match dosbatchEchoOperator  "\<echo\s\+\(on\|off\)\s*$"lc=4
 
 " For embedded commands
-syn match dosbatchCmd          "(\s*'[^']*'"lc=1 
contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator
+syn match dosbatchCmd          "(\s*'[^']*'"lc=1 
contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator,dosbatchIfOperator
 
 " Numbers - surround with ws to not include in dir and filenames
 syn match dosbatchInteger       "[[:space:]=(/:,!~-]\d\+"lc=1
@@ -102,9 +103,11 @@ else
   syn match dosbatchColonCommentErr contained "\s*:\s*:.*$"
 endif
 syn match dosbatchColonCommentErr contained "\s*:\s*:[^)]*\(\(
\s*\)\?)\)\@="
-syn region dosbatchCodeBlock   transparent start=+(+ end=+)+ 
contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator,@dosbatchCodeBlockComment,dosbatchColonCommentErr,dosbatchCodeBlock
+syn region dosbatchCodeBlock   transparent start=+(+ end=+)+ 
contains=dosbatchString,dosbatchVariable,dosBatchArgument,@dosbatchNumber,dosbatchImplicit,dosbatchStatement,dosbatchConditional,dosbatchRepeat,dosbatchOperator,dosbatchIfOperator,@dosbatchCodeBlockComment,dosbatchColonCommentErr,dosbatchCodeBlock
 syn match dosbatchCodeBlockErr ")"
 
+syn sync match dosbatchSyncCodeBlock grouphere NONE "^)\s*$"
+
 syn keyword dosbatchImplicit    append assoc at attrib break cacls cd chcp 
chdir
 syn keyword dosbatchImplicit    chkdsk chkntfs cls cmd color comp compact 
convert copy
 syn keyword dosbatchImplicit    date del dir diskcomp diskcopy doskey echo 
endlocal

-- 
-- 
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 on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1seKPL-001eRs-IF%40256bit.org.

Raspunde prin e-mail lui