]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(vim): Update base-syntax, match multiline continued comments (#13936)
authordkearns <dougkearns@gmail.com>
Tue, 11 Jun 2024 17:27:53 +0000 (03:27 +1000)
committerGitHub <noreply@github.com>
Tue, 11 Jun 2024 17:27:53 +0000 (19:27 +0200)
Match multiline (continued) line comments.

Continued tail comments are not supported yet.

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
26 files changed:
runtime/syntax/generator/vim.vim.base
runtime/syntax/testdir/dumps/vim9_comment_00.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_00.dump with 78% similarity]
runtime/syntax/testdir/dumps/vim9_comment_01.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_01.dump with 69% similarity]
runtime/syntax/testdir/dumps/vim9_comment_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim9_comment_03.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_02.dump with 77% similarity]
runtime/syntax/testdir/dumps/vim9_comment_99.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_99.dump with 72% similarity]
runtime/syntax/testdir/dumps/vim9_legacy_header_00.dump
runtime/syntax/testdir/dumps/vim9_legacy_header_99.dump
runtime/syntax/testdir/dumps/vim9_legacy_header_fold_00.dump
runtime/syntax/testdir/dumps/vim9_legacy_header_fold_99.dump
runtime/syntax/testdir/dumps/vim_comment_00.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment_00.dump with 93% similarity]
runtime/syntax/testdir/dumps/vim_comment_01.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment_01.dump with 52% similarity]
runtime/syntax/testdir/dumps/vim_comment_02.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_comment_03.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/vim_comment_99.dump [moved from runtime/syntax/testdir/dumps/vim_ex_comment_99.dump with 91% similarity]
runtime/syntax/testdir/dumps/vim_ex_comment_02.dump [deleted file]
runtime/syntax/testdir/dumps/vim_ex_function_07.dump
runtime/syntax/testdir/dumps/vim_ex_function_09.dump
runtime/syntax/testdir/dumps/vim_ex_function_99.dump
runtime/syntax/testdir/dumps/vim_ex_syntax_09.dump
runtime/syntax/testdir/dumps/vim_ex_syntax_99.dump
runtime/syntax/testdir/dumps/vim_line_continuation_02.dump
runtime/syntax/testdir/dumps/vim_line_continuation_99.dump
runtime/syntax/testdir/input/vim9_comment.vim [moved from runtime/syntax/testdir/input/vim_ex_comment-vim9.vim with 69% similarity]
runtime/syntax/testdir/input/vim_comment.vim [moved from runtime/syntax/testdir/input/vim_ex_comment.vim with 69% similarity]
runtime/syntax/vim.vim

index c3065b87bf2e4cd9ff8348ce2e08e2eb4d4a4e8f..42c93dc5bf04423a6e60f6b78bf7ca02a84fde7c 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
 " URL:    https://github.com/vim-jp/syntax-vim-ex
-" Last Change:    2024 Jun 05
+" Last Change:    2024 Jun 11
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -812,16 +812,17 @@ syn match vimCtrlChar     "[\ 1-\b\v\ f-\1f]"
 " Beginners - Patterns that involve ^ {{{2
 " =========
 if s:vim9script
-  syn match    vimLineComment  +^[ \t:]*".*$+  contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
-  syn match    vim9LineComment +^[ \t:]*#.*$+  contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
+  syn region   vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
+  syn region   vimLineComment  start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
 else
-  syn match    vimLineComment  +^[ \t:]*".*$+  contains=@vimCommentGroup,vimCommentString,vimCommentTitle
-  syn match    vim9LineComment +^[ \t:]*#.*$+  contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
+  syn region   vimLineComment  start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
+  syn region   vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
 endif
 syn match      vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1    contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 syn match      vim9CommentTitle        '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1    contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup
+
 syn match      vimContinue             "^\s*\zs\\"
-syn match         vimContinueComment   '^\s*\zs["#]\\ .*' contained
+syn match         vimContinueComment   '^\s*\zs["#]\\ .*'
 syn cluster    vimContinue contains=vimContinue,vimContinueComment
 syn region     vimString       start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
 syn match      vimCommentTitleLeader   '"\s\+'ms=s+1   contained
similarity index 78%
rename from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_00.dump
rename to runtime/syntax/testdir/dumps/vim9_comment_00.dump
index 57b021621b154dd02507061c91c8dd3b07ab9e7c..46d283f6ee464fd019e8bc351e38ac4971961dab 100644 (file)
@@ -4,16 +4,16 @@
 @75
 |#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@53
 @75
-| +0#0000e05&|#| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
+@1|#+0#0000e05&| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
 @1|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&@57
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@59
-| +0#0000e05&@1|"| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
+@2|"+0#0000e05&| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
 @2|#| |4+0#e000002&|2| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@58
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
 |d+0#af5f00255&|e|f|!| +0#0000000&|B|a|r|(+0#e000e06&|)| +0#0000000&@64
-| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
+@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
 |e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
 @75
similarity index 69%
rename from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_01.dump
rename to runtime/syntax/testdir/dumps/vim9_comment_01.dump
index 1b0d7c935733c424e4e2725de61b4dcf1ea322fa..d59620862ac3a79da306dbcd50d4da6dbbc67061 100644 (file)
@@ -1,20 +1,20 @@
 | +0&#ffffff0@74
 |d+0#af5f00255&|e|f|!| +0#0000000&|B|a|r|(+0#e000e06&|)| +0#0000000&@64
-| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
+@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
 |e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
 > @74
 |c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|-+0#af5f00255&|c+0#e000e06&|o|u|n|t| +0#0000000&|F|o@1|C|o|m@1|a|n|d| |{+0#e000e06&| +0#0000000&@47
-| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
+@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
 |}+0#e000e06&| +0#0000000&@73
 @75
 |a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52
-| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
+@2|#+0#0000e05&| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
 @2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
 |}+0#e000e06&| +0#0000000&@73
 @75
 @75
-|#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
+|#+0#0000e05&| |M|u|l|t|i|l|i|n|e| |c|o|m@1|e|n|t|s| +0#0000000&@54
 @75
-@57|1|9|,|0|-|1| @7|5|9|%| 
+@57|1|9|,|0|-|1| @7|2|8|%| 
diff --git a/runtime/syntax/testdir/dumps/vim9_comment_02.dump b/runtime/syntax/testdir/dumps/vim9_comment_02.dump
new file mode 100644 (file)
index 0000000..e6a4de5
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
+| +0#0000e05&@1|\| |c|o|n|t|i|n|u|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@52
+| +0#0000e05&@1|\| |c|o|n|t|i|n|u|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@52
+@75
+>#+0#0000e05&| |:|F|o@1| +0#0000000&@68
+| +0#0000e05&@5|\| |a|r|g|1| +0#0000000&@62
+| +0#0000e05&@5|#|\| |c|o|m@1|e|n|t| +0#0000000&@58
+| +0#0000e05&@5|\| |a|r|g|2| +0#0000000&@62
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|T|O|P|"| +0#0000000&@64
+@75
+@75
+|#+0#0000e05&| |L|i|n|e|-|c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t|s| +0#0000000&@46
+@75
+|:|F|o@1| @70
+@6|#+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|1| @62
+@6|#+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@57|3|7|,|1| @9|6|8|%| 
similarity index 77%
rename from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_02.dump
rename to runtime/syntax/testdir/dumps/vim9_comment_03.dump
index 7de6ffb9788777dac56bf8f07203f965c7b8a4f8..0e424aba38068b60d2e7edfeba342e48a7af1893 100644 (file)
@@ -1,9 +1,14 @@
-| +0&#ffffff0@74
+| +0&#ffffff0@5|#+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|2| @62
+@75
+@75
+|#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
+> @74
 |i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|"+0#e000002&|:|D|i|f@1|O|r|i|g|"|)+0#e000e06&| +0#0000000&@51
 @2|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|D|i|f@1|O|r|i|g| |v+0#af5f00255&|e|r|t| +0#0000000&|n+0#af5f00255&|e|w| +0#0000000&||| |s+0#af5f00255&|e|t| +0#0000000&|b+0#e000e06&|t|=+0#0000000&|n|o|f|i|l|e| ||+0#af5f00255&| +0#0000000&|r+0#af5f00255&| +0#0000000&|++0#af5f00255&@1|e|d|i|t| +0#0000000&|%+0#af5f00255&@1| +0#0000000&||| |0+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&
 @18|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#af5f00255&| +0#0000000&||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
 |e+0#af5f00255&|n|d|i|f| +0#0000000&@69
-> @74
+@75
 @75
 |#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1@1|3|0|7| |a|n|d| |#|1@1|5|6|0| +0#0000000&@48
 @75
@@ -12,9 +17,4 @@
 |~| @73
 |~| @73
 |~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|3|7|,|0|-|1| @7|B|o|t| 
+| +0#0000000&@56|5@1|,|0|-|1| @7|B|o|t| 
similarity index 72%
rename from runtime/syntax/testdir/dumps/vim_ex_comment-vim9_99.dump
rename to runtime/syntax/testdir/dumps/vim9_comment_99.dump
index f8759da2143770d9371925c70934acbabd319c6b..bed55bc1bdd6d0a274ae2fce21be41de7ca59af7 100644 (file)
@@ -1,9 +1,9 @@
-|}+0#e000e06#ffffff0| +0#0000000&@73
-@75
-|a+0#af5f00255&|u|t|o|c|m|d| +0#0000000&|B+0#00e0003&|u|f|N|e|w|F|i|l|e| +0#0000000&|*| |{+0#e000e06&| +0#0000000&@52
-| +0#0000e05&@1|#| |V|i|m|9|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@51
-@2|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&|#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@46
-|}+0#e000e06&| +0#0000000&@73
+| +0&#ffffff0@74
+|:|F|o@1| @70
+@6|#+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|1| @62
+@6|#+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|2| @62
 @75
 @75
 |#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
@@ -17,4 +17,4 @@
 |#+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1@1|3|0|7| |a|n|d| |#|1@1|5|6|0| +0#0000000&@48
 @75
 >#+0#0000e05&| |T|h|i|s| |i|s| |w|h|a|t| |w|e| |c|a|l@1| |"| |b|l|a|h| +0#0000000&@45
-@57|4|1|,|1| @9|B|o|t| 
+@57|6|4|,|1| @9|B|o|t| 
index 2f682d960bccb19091cbb2b7b9a938cc287a6f3b..a5f1802f9722e7fb5f5da48f1d881f96ddb86dad 100644 (file)
@@ -12,7 +12,7 @@
 @75
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 @75
-| +0#0000e05&|#| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
+@1|#+0#0000e05&| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
 @1|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&@57
 |~+0#4040ff13&| @73
 |~| @73
index d400e3166de5cb7398615a8a37f08fbc0a77465e..27ff90e4e7e45f9c126dbea17cbfaaf5173804d2 100644 (file)
@@ -12,7 +12,7 @@
 @75
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 @75
-| +0#0000e05&|#| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
+@1|#+0#0000e05&| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
 @1>"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&@57
 |~+0#4040ff13&| @73
 |~| @73
index b324c468b1687b67da55ad06ebc3795e44d436bc..fe8e737ae8a22f5cfbcada2163e6b9f74ed7bac5 100644 (file)
@@ -3,7 +3,7 @@
 @75
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 @75
-| +0#0000e05&|#| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
+@1|#+0#0000e05&| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
 @1|"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&@57
 |~+0#4040ff13&| @73
 |~| @73
index b3fa84700378523982fa6459785ddf506654dcae..fe339c4f90ce9d71058a182667c23ff6f4eb8d63 100644 (file)
@@ -3,7 +3,7 @@
 @75
 |#+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
 @75
-| +0#0000e05&|#| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
+@1|#+0#0000e05&| |s|t|r|i|n|g| |o|n|l|y| |r|e|c|o|g|n|i|s|e|d| |w|i|t|h| |l|e|a|d|i|n|g| |c|h|a|r| +0#0000000&@31
 @1>"+0#e000002&|u|s|e|l|e|s@1| |s|t|r|i|n|g|"| +0#0000000&@57
 |~+0#4040ff13&| @73
 |~| @73
similarity index 93%
rename from runtime/syntax/testdir/dumps/vim_ex_comment_00.dump
rename to runtime/syntax/testdir/dumps/vim_comment_00.dump
index a1c188092f832baf17839aa33e20a9071ea89356..335fc3f16d9dc6b8ddefe7d4ca67052f596f8f28 100644 (file)
@@ -5,7 +5,7 @@
 |#| |4+0#e000002&|2| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@60
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@59
-| +0#0000e05&@1|"| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
+@2|"+0#0000e05&| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
 @2|#| |4+0#e000002&|2| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@58
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
similarity index 52%
rename from runtime/syntax/testdir/dumps/vim_ex_comment_01.dump
rename to runtime/syntax/testdir/dumps/vim_comment_01.dump
index 513f64ca91c19cff57d295ab605bc86c26dfb8db..ebf0c425274fcf31da2887180fe5ff2f8d7206a6 100644 (file)
@@ -12,9 +12,9 @@
 |}+0#e000e06&| +0#0000000&@73
 @75
 @75
-|"+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
+|"+0#0000e05&| |M|u|l|t|i|l|i|n|e| |c|o|m@1|e|n|t|s| +0#0000000&@54
 @75
-|i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|"+0#e000002&|:|D|i|f@1|O|r|i|g|"|)+0#e000e06&| +0#0000000&@51
-@2|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|D|i|f@1|O|r|i|g| |v+0#af5f00255&|e|r|t| +0#0000000&|n+0#af5f00255&|e|w| +0#0000000&||| |s+0#af5f00255&|e|t| +0#0000000&|b+0#e000e06&|t|=+0#0000000&|n|o|f|i|l|e| ||+0#af5f00255&| +0#0000000&|r+0#af5f00255&| +0#0000000&|++0#af5f00255&@1|e|d|i|t| +0#0000000&|#| ||| |0+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@1
-@18|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#af5f00255&| +0#0000000&||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
-@57|1|9|,|3| @9|5|0|%| 
+|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@65
+| +0#0000e05&@1|\| |c|o|n|t|i|n|u|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@52
+| +0#0000e05&@1|\| |c|o|n|t|i|n|u|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@52
+@57|1|9|,|3| @9|2|6|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_comment_02.dump b/runtime/syntax/testdir/dumps/vim_comment_02.dump
new file mode 100644 (file)
index 0000000..8e31fb6
--- /dev/null
@@ -0,0 +1,20 @@
+| +0#0000e05#ffffff0@1|\| |c|o|n|t|i|n|u|i|n|g| |c|o|m@1|e|n|t| +0#0000000&@52
+@75
+|"+0#0000e05&| |:|F|o@1| +0#0000000&@68
+| +0#0000e05&@5|\| |a|r|g|1| +0#0000000&@62
+| +0#0000e05&@5|"|\| |c|o|m@1|e|n|t| +0#0000000&@58
+| +0#0000e05&@5>\| |a|r|g|2| +0#0000000&@62
+@75
+|e+0#af5f00255&|c|h|o| +0#0000000&|"+0#e000002&|T|O|P|"| +0#0000000&@64
+@75
+@75
+|"+0#0000e05&| |L|i|n|e|-|c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t|s| +0#0000000&@46
+@75
+|:|F|o@1| @70
+@6|"+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|1| @62
+@6|"+0#0000e05&|\| |l|i|n|e| |c|o|n|t|i|n|u|a|t|i|o|n| |c|o|m@1|e|n|t| +0#0000000&@40
+@6|\+0#e000e06&| +0#0000000&|a|r|g|2| @62
+@75
+@75
+@57|3|7|,|7| @9|6|3|%| 
diff --git a/runtime/syntax/testdir/dumps/vim_comment_03.dump b/runtime/syntax/testdir/dumps/vim_comment_03.dump
new file mode 100644 (file)
index 0000000..2d40f6c
--- /dev/null
@@ -0,0 +1,20 @@
+| +0&#ffffff0@74
+|"+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1|3|0|4|7| +0#0000000&@59
+@75
+|i+0#af5f00255&|f| +0#0000000&|!+0#af5f00255&|e+0#00e0e07&|x|i|s|t|s|(+0#e000e06&|"+0#e000002&|:|D|i|f@1|O|r|i|g|"|)+0#e000e06&| +0#0000000&@51
+@2|c+0#af5f00255&|o|m@1|a|n|d| +0#0000000&|D|i|f@1|O|r|i|g| |v+0#af5f00255&|e|r|t| +0#0000000&|n+0#af5f00255&|e|w| +0#0000000&||| |s+0#af5f00255&|e|t| +0#0000000&|b+0#e000e06&|t|=+0#0000000&|n|o|f|i|l|e| ||+0#af5f00255&| +0#0000000&|r+0#af5f00255&| +0#0000000&|++0#af5f00255&@1|e|d|i|t| +0#0000000&|#| ||| |0+0#e000002&|d+0#0000000&|_| ||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@1
+@18>\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#af5f00255&| +0#0000000&||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
+|e+0#af5f00255&|n|d|i|f| +0#0000000&@69
+@75
+@75
+|"+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1@1|3|0|7| |a|n|d| |#|1@1|5|6|0| +0#0000000&@48
+@75
+|"+0#0000e05&| |T|h|i|s| |i|s| |w|h|a|t| |w|e| |c|a|l@1| |"| |b|l|a|h| +0#0000000&@45
+@75
+@75
+|"+0#0000e05&| |I|s@1|u|e| |#| |#|9|5|8|7| +0#0000000&@59
+@75
+|d+0#af5f00255&|e|f| +0#0000000&|C|o|m@1|e|n|t|T|i|t|l|e|(+0#e000e06&|)| +0#0000000&@56
+| +0#0000e05&@1|#| |T|i|t|l|e|:| |.@2| +0#0000000&@60
+|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
+@57|5@1|,|5|-|1|9| @6|B|o|t| 
similarity index 91%
rename from runtime/syntax/testdir/dumps/vim_ex_comment_99.dump
rename to runtime/syntax/testdir/dumps/vim_comment_99.dump
index e9bcabeb92cd9bf830e9aeccd1e858af1f253c39..bb1fbb0e7dbd3507bf1bde4c92aa2139d17f112f 100644 (file)
@@ -15,6 +15,6 @@
 |"+0#0000e05&| |I|s@1|u|e| |#| |#|9|5|8|7| +0#0000000&@59
 @75
 |d+0#af5f00255&|e|f| +0#0000000&|C|o|m@1|e|n|t|T|i|t|l|e|(+0#e000e06&|)| +0#0000000&@56
-| +0#0000e05&@1|#| +0#0000000&|T+0#e000e06&|i|t|l|e|:| +0#0000e05&|.@2| +0#0000000&@60
+| +0#0000e05&@1|#| |T|i|t|l|e|:| |.@2| +0#0000000&@60
 >e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
-@57|4|5|,|1| @9|B|o|t| 
+@57|6|8|,|1| @9|B|o|t| 
diff --git a/runtime/syntax/testdir/dumps/vim_ex_comment_02.dump b/runtime/syntax/testdir/dumps/vim_ex_comment_02.dump
deleted file mode 100644 (file)
index e2b6092..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-| +0&#ffffff0@17|\+0#e000e06&| +0#0000000&||| |w+0#af5f00255&|i|n|c|m|d| +0#0000000&|p+0#af5f00255&| +0#0000000&||| |d+0#af5f00255&|i|f@1|t|h|i|s| +0#0000000&@33
-|e+0#af5f00255&|n|d|i|f| +0#0000000&@69
-@75
-@75
-|"+0#0000e05&| +0#0000000&|I+0#e000e06&|s@1|u|e|:| +0#0000e05&|#|1@1|3|0|7| |a|n|d| |#|1@1|5|6|0| +0#0000000&@48
-> @74
-|"+0#0000e05&| |T|h|i|s| |i|s| |w|h|a|t| |w|e| |c|a|l@1| |"| |b|l|a|h| +0#0000000&@45
-@75
-@75
-|"+0#0000e05&| |I|s@1|u|e| |#| |#|9|5|8|7| +0#0000000&@59
-@75
-|d+0#af5f00255&|e|f| +0#0000000&|C|o|m@1|e|n|t|T|i|t|l|e|(+0#e000e06&|)| +0#0000000&@56
-| +0#0000e05&@1|#| +0#0000000&|T+0#e000e06&|i|t|l|e|:| +0#0000e05&|.@2| +0#0000000&@60
-|e+0#af5f00255&|n|d@1|e|f| +0#0000000&@68
-|~+0#4040ff13&| @73
-|~| @73
-|~| @73
-|~| @73
-|~| @73
-| +0#0000000&@56|3|7|,|0|-|1| @7|B|o|t| 
index 40b00b0f73bbe9231c3347acfa218be6d425d192..843884975d64d2911ebc5f5ca47fed91126a41fe 100644 (file)
@@ -5,7 +5,7 @@
 @75
 >f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
-| +0#0000e05&@1|"| |t|r|a|i|l|i|n|g| |w|h|i|t|e|s|p|a|c|e| +0#0000000&@51
+@2|"+0#0000e05&| |t|r|a|i|l|i|n|g| |w|h|i|t|e|s|p|a|c|e| +0#0000000&@51
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
index 94f80daa93b3522b8653e006ef96a39d3f3c2eec..4c2a626312381554b4be39c1ad256b0e344b12c5 100644 (file)
@@ -10,7 +10,7 @@
 |"+0#0000e05&| |c|o|m@1|e|n|t|s| +0#0000000&@64
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
-| +0#0000e05&@1|"| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
+@2|"+0#0000e05&| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
 @2|#| |4+0#e000002&|2| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@58
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
index 7eed707ee4365efc428c7ff2277187719e65262b..b00e2ac19408a0c916253af3b09fc3cad52ab4d4 100644 (file)
@@ -4,7 +4,7 @@
 |"+0#0000e05&| |c|o|m@1|e|n|t|s| +0#0000000&@64
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n| +0#0000000&|F|o@1|(+0#e000e06&|)| +0#0000000&@60
-| +0#0000e05&@1|"| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
+@2|"+0#0000e05&| |L|e|g|a|c|y|-|s|c|r|i|p|t| |c|o|m@1|e|n|t| +0#0000000&@49
 @2|#| |4+0#e000002&|2| +0#0000000&|"+0#0000e05&| |c|o|m@1|e|n|t| +0#0000000&@58
 @2|r+0#af5f00255&|e|t|u|r|n| +0#0000000&|4+0#e000002&|2| +0#0000000&@63
 |e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
index ade5bd529de76a0a921b28699657153ad2753d47..5240e4edb03be0b7c157ccf362b6f54ca02399fa 100644 (file)
@@ -12,9 +12,9 @@
 |"+0#0000e05&| @2|"+0#e000002&|c|l|u|s|t|e|r|"| +0#0000e05&|s|h|o|u|l|d| |n|o|t| |b|e| |h|i|g|h|l|i|g|h|t|e|d| |o|u|t|s|i|d|e| |o|f| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d|s| +0#0000000&@7
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|s+0#e000e06&|:|C+0#0000000&|o|n|t|a|i|n|e|d|G|r|o|u|p|(+0#e000e06&|)| +0#0000000&@46
-| +0#0000e05&@1|"| |.@2| +0#0000000&@67
+@2|"+0#0000e05&| |.@2| +0#0000000&@67
 @2|f+0#af5f00255&|o|r| +0#0000000&|c+0#00e0e07&|l|u|s|t|e|r| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|[|'+0#e000002&|m|a|r|k|d|o|w|n|H|i|g|h|l|i|g|h|t|_|z|s|h|'|,+0#0000000&| |'+0#e000002&|z|s|h|'|]+0#0000000&| @25
-| +0#0000e05&@3|"| |.@2| +0#0000000&@65
+@4|"+0#0000e05&| |.@2| +0#0000000&@65
 @2|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@66
-| +0#0000e05&@1|"| |.@2| +0#0000000&@67
+@2|"+0#0000e05&| |.@2| +0#0000000&@67
 @57|1|6|3|,|7| @8|9@1|%| 
index c1942c810cbc8b2067804af281c70c9d6142c6ed..c06ac66e7aa3a420c84df9da89ec08ececa66930 100644 (file)
 |"+0#0000e05&| @2|"+0#e000002&|c|l|u|s|t|e|r|"| +0#0000e05&|s|h|o|u|l|d| |n|o|t| |b|e| |h|i|g|h|l|i|g|h|t|e|d| |o|u|t|s|i|d|e| |o|f| |:|s|y|n|t|a|x| |c|o|m@1|a|n|d|s| +0#0000000&@7
 @75
 |f+0#af5f00255&|u|n|c|t|i|o|n|!| +0#0000000&|s+0#e000e06&|:|C+0#0000000&|o|n|t|a|i|n|e|d|G|r|o|u|p|(+0#e000e06&|)| +0#0000000&@46
-| +0#0000e05&@1|"| |.@2| +0#0000000&@67
+@2|"+0#0000e05&| |.@2| +0#0000000&@67
 @2|f+0#af5f00255&|o|r| +0#0000000&|c+0#00e0e07&|l|u|s|t|e|r| +0#0000000&|i+0#af5f00255&|n| +0#0000000&|[|'+0#e000002&|m|a|r|k|d|o|w|n|H|i|g|h|l|i|g|h|t|_|z|s|h|'|,+0#0000000&| |'+0#e000002&|z|s|h|'|]+0#0000000&| @25
-| +0#0000e05&@3|"| |.@2| +0#0000000&@65
+@4|"+0#0000e05&| |.@2| +0#0000000&@65
 @2|e+0#af5f00255&|n|d|f|o|r| +0#0000000&@66
-| +0#0000e05&@1|"| |.@2| +0#0000000&@67
+@2|"+0#0000e05&| |.@2| +0#0000000&@67
 >e+0#af5f00255&|n|d|f|u|n|c|t|i|o|n| +0#0000000&@63
 @57|1|7@1|,|1| @8|B|o|t| 
index c4ceded842010b3a758c6543454317eda4c523f7..e18a56d4ce21602d23982f77949d2082fdb1d319 100644 (file)
@@ -9,11 +9,11 @@
 @6|\+0#e000e06&|}| +0#0000000&@66
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|a+0#00e0e07&|r@1|a|y| +0#0000000&|=+0#af5f00255&| +0#0000000&|[| @61
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|1+0#e000002&|,+0#0000000&| @64
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|2+0#e000002&|,+0#0000000&| @64
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|3+0#e000002&| +0#0000000&@65
 @6|\+0#e000e06&|]+0#0000000&| @66
 |~+0#4040ff13&| @73
index 05ea46454aed45eee305f8c48dad4c039d3a061a..3e2c83d808e8de775a0e109e898f99678a5b80d7 100644 (file)
 @6|\+0#e000e06&|}| +0#0000000&@66
 @75
 |l+0#af5f00255&|e|t| +0#0000000&|a+0#00e0e07&|r@1|a|y| +0#0000000&|=+0#af5f00255&| +0#0000000&|[| @61
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |1| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|1+0#e000002&|,+0#0000000&| @64
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |2| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|2+0#e000002&|,+0#0000000&| @64
-| +0#0000e05&@5|"|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
+@6|"+0#0000e05&|\| |e|l|e|m|e|n|t| |3| +0#0000000&@56
 @6|\+0#e000e06&| +0#0000000&|3+0#e000002&| +0#0000000&@65
 @6>\+0#e000e06&|]+0#0000000&| @66
 @57|4|9|,|7| @9|B|o|t| 
similarity index 69%
rename from runtime/syntax/testdir/input/vim_ex_comment-vim9.vim
rename to runtime/syntax/testdir/input/vim9_comment.vim
index 786d11b43f497f2653e0844c7170b05341b37ec1..fd6a5d2a2a24f5bf4861196d78211a0cc8765034 100644 (file)
@@ -28,6 +28,29 @@ autocmd BufNewFile * {
 }
 
 
+# Multiline comments
+
+# comment
+  \ continuing comment
+  \ continuing comment
+
+# :Foo
+      \ arg1
+      #\ comment
+      \ arg2
+
+echo "TOP"
+
+
+# Line-continuation comments
+
+:Foo
+      #\ line continuation comment
+      \ arg1
+      #\ line continuation comment
+      \ arg2
+
+
 # Issue: #13047
 
 if !exists(":DiffOrig")
similarity index 69%
rename from runtime/syntax/testdir/input/vim_ex_comment.vim
rename to runtime/syntax/testdir/input/vim_comment.vim
index 54e514eaa31987d21c65a18d756f166d8586dcdf..f382f8df79eb9c147ed83990f418bee1ed30e64d 100644 (file)
@@ -25,6 +25,29 @@ autocmd BufNewFile * {
 }
 
 
+" Multiline comments
+
+" comment
+  \ continuing comment
+  \ continuing comment
+
+" :Foo
+      \ arg1
+      "\ comment
+      \ arg2
+
+echo "TOP"
+
+
+" Line-continuation comments
+
+:Foo
+      "\ line continuation comment
+      \ arg1
+      "\ line continuation comment
+      \ arg2
+
+
 " Issue: #13047
 
 if !exists(":DiffOrig")
index 3892cf8afbed9610bceebd566ee2ae73fd3fc4f3..5ad4d00e3d49e3bedaed1c0d7a822229ad5dfc0b 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:     Hirohito Higashi <h.east.727 ATMARK gmail.com>
 "         Doug Kearns <dougkearns@gmail.com>
 " URL:    https://github.com/vim-jp/syntax-vim-ex
-" Last Change:    2024 Jun 05
+" Last Change:    2024 Jun 11
 " Former Maintainer: Charles E. Campbell
 
 " DO NOT CHANGE DIRECTLY.
@@ -857,16 +857,17 @@ syn match vimCtrlChar     "[\ 1-\b\v\ f-\1f]"
 " Beginners - Patterns that involve ^ {{{2
 " =========
 if s:vim9script
-  syn match    vimLineComment  +^[ \t:]*".*$+  contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
-  syn match    vim9LineComment +^[ \t:]*#.*$+  contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
+  syn region   vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle
+  syn region   vimLineComment  start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle contained
 else
-  syn match    vimLineComment  +^[ \t:]*".*$+  contains=@vimCommentGroup,vimCommentString,vimCommentTitle
-  syn match    vim9LineComment +^[ \t:]*#.*$+  contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
+  syn region   vimLineComment  start=+^[ \t:]*\zs".*$+ skip=+\n\s*\\\|\n\s*"\\ + end="$" contains=@vimCommentGroup,vimCommentString,vimCommentTitle
+  syn region   vim9LineComment start=+^[ \t:]*\zs#.*$+ skip=+\n\s*\\\|\n\s*#\\ + end="$" contains=@vimCommentGroup,vimCommentString,vim9CommentTitle contained
 endif
 syn match      vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1    contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 syn match      vim9CommentTitle        '#\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1    contained contains=vim9CommentTitleLeader,vimTodo,@vimCommentGroup
+
 syn match      vimContinue             "^\s*\zs\\"
-syn match         vimContinueComment   '^\s*\zs["#]\\ .*' contained
+syn match         vimContinueComment   '^\s*\zs["#]\\ .*'
 syn cluster    vimContinue contains=vimContinue,vimContinueComment
 syn region     vimString       start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
 syn match      vimCommentTitleLeader   '"\s\+'ms=s+1   contained