aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-28 08:39:30 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2021-04-28 21:29:57 -0400
commit565783be4b42ec8cf2d24543b7d501499c6a1091 (patch)
tree1f80eb628fdc0aa84d75d765e7830a8cf5114f44
parent04a4bbbe56fd6cbc164730cb9beab4ec6fefe3b0 (diff)
downloadrneovim-565783be4b42ec8cf2d24543b7d501499c6a1091.tar.gz
rneovim-565783be4b42ec8cf2d24543b7d501499c6a1091.tar.bz2
rneovim-565783be4b42ec8cf2d24543b7d501499c6a1091.zip
vim-patch:acc224064033
Update runtime files https://github.com/vim/vim/commit/acc224064033e5cea21ef7f1eefb356ca06ff11d Omit 'quickfixtextfunc'. Omit ftplugin/man.vim.
-rw-r--r--runtime/doc/index.txt16
-rw-r--r--runtime/doc/options.txt4
-rw-r--r--runtime/doc/various.txt1
-rw-r--r--runtime/ftplugin/asm.vim11
-rw-r--r--runtime/indent/sqlanywhere.vim80
-rw-r--r--runtime/indent/testdir/yaml.in5
-rw-r--r--runtime/indent/testdir/yaml.ok5
-rw-r--r--runtime/indent/yaml.vim11
-rw-r--r--runtime/optwin.vim2
-rw-r--r--runtime/syntax/vim.vim22
10 files changed, 93 insertions, 64 deletions
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 503e3a87bf..008bff9f07 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -73,7 +73,7 @@ tag char action in Insert mode ~
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
insert the contents of a register literally
and fix indent.
- CTRL-S (used for terminal control flow)
+ CTRL-S not used or used for terminal control flow
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
line
|i_CTRL-U| CTRL-U delete all entered characters in the current
@@ -207,9 +207,9 @@ tag char note action in Normal mode ~
|CTRL-N| CTRL-N 1 same as "j"
|CTRL-O| CTRL-O 1 go to N older entry in jump list
|CTRL-P| CTRL-P 1 same as "k"
- CTRL-Q (used for terminal control flow)
+ CTRL-Q not used, or used for terminal control flow
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
- CTRL-S (used for terminal control flow)
+ CTRL-S not used, or used for terminal control flow
|CTRL-T| CTRL-T jump to N older Tag in tag list
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
screen)
@@ -819,7 +819,7 @@ tag char note action in Normal mode ~
|zD| zD delete folds recursively
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
-|zG| zG temporarily mark word as good spelled word
+|zG| zG temporarily mark word as correctly spelled
|zH| zH when 'wrap' off scroll half a screenwidth
to the right
|zL| zL when 'wrap' off scroll half a screenwidth
@@ -828,7 +828,7 @@ tag char note action in Normal mode ~
|zN| zN set 'foldenable'
|zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold
-|zW| zW temporarily mark word as bad spelled word
+|zW| zW temporarily mark word as incorrectly spelled
|zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above
window), otherwise like "z-"
@@ -840,7 +840,7 @@ tag char note action in Normal mode ~
position the cursor at the end (right side)
of the screen
|zf| zf{motion} create a fold for Nmove text
-|zg| zg permanently mark word as good spelled word
+|zg| zg permanently mark word as correctly spelled
|zh| zh when 'wrap' off scroll screen N characters
to the right
|zi| zi toggle 'foldenable'
@@ -861,7 +861,7 @@ tag char note action in Normal mode ~
|zuW| zuW undo |zW|
|zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
-|zw| zw permanently mark word as bad spelled word
+|zw| zw permanently mark word as incorrectly spelled
|zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window
|z<Left>| z<Left> same as "zh"
@@ -1047,7 +1047,7 @@ tag command action in Command-line editing mode ~
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object
under the cursor literally
- CTRL-S (used for terminal control flow)
+ CTRL-S not used, or used for terminal control flow
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
|c_CTRL-U| CTRL-U remove all characters
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c2a1c04110..23354c0320 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -4215,8 +4215,8 @@ A jump table for the options with a short description can be found at |Q_op|.
(without "unsigned" it would become "9-2021").
Using CTRL-A on "2020" in "9-2020" results in "9-2021"
(without "unsigned" it would become "9-2019").
- Using CTRL-X on "0" or "18446744073709551615" (2^64) has
- no effect, overflow is prevented.
+ Using CTRL-X on "0" or CTRL-A on "18446744073709551615"
+ (2^64 - 1) has no effect, overflow is prevented.
Numbers which simply begin with a digit in the range 1-9 are always
considered decimal. This also happens for numbers that are not
recognized as octal or hex.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 7e033d7dda..21d5610a97 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -260,6 +260,7 @@ g8 Print the hex values of the bytes used in the
use it to append a Vim command. See |:bar|.
Any "%" in {cmd} is expanded to the current file name.
+ Any "#" in {cmd} is expanded to the alternate file name.
Special characters are not escaped, use quotes or
|shellescape()|: >
:!ls "%"
diff --git a/runtime/ftplugin/asm.vim b/runtime/ftplugin/asm.vim
new file mode 100644
index 0000000000..0914bf634a
--- /dev/null
+++ b/runtime/ftplugin/asm.vim
@@ -0,0 +1,11 @@
+" Vim filetype plugin file
+" Language: asm
+" Maintainer: Colin Caine <cmcaine at the common googlemail domain>
+" Last Changed: 23 May 2020
+
+if exists("b:did_ftplugin") | finish | endif
+
+setl comments=:;,s1:/*,mb:*,ex:*/,://
+setl commentstring=;%s
+
+let b:did_ftplugin = 1
diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim
index ba35d76715..601c567adc 100644
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -1,7 +1,8 @@
" Vim indent file
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2017 Jun 13
+" Last Change By Maintainer: 2017 Jun 13
+" Last Change: by Stephen Wall, #5578, 2020 Jun 07
" Version: 3.0
" Download: http://vim.sourceforge.net/script.php?script_id=495
@@ -67,68 +68,73 @@ set cpo&vim
" IS is excluded, since it is difficult to determine when the
" ending block is (especially for procedures/functions).
let s:SQLBlockStart = '^\s*\%('.
- \ 'if\|else\|elseif\|elsif\|'.
- \ 'while\|loop\|do\|for\|'.
- \ 'begin\|'.
+ \ 'if\>.*\<then\|'.
+ \ 'then\|else\>\|'.
+ \ 'elseif\>.*\<then\|'.
+ \ 'elsif\>.(\<then\|'.
+ \ 'while\>.*\<loop\|'.
+ \ 'for\>.*\<loop\|'.
+ \ 'foreach\>.*\<loop\|'.
+ \ 'loop\|do\|declare\|begin\|'.
\ 'case\|when\|merge\|exception'.
\ '\)\>'
let s:SQLBlockEnd = '^\s*\(end\)\>'
-" The indent level is also based on unmatched paranethesis
+" The indent level is also based on unmatched parentheses
" If a line has an extra "(" increase the indent
" If a line has an extra ")" decrease the indent
-function! s:CountUnbalancedParan( line, paran_to_check )
+function! s:CountUnbalancedParen( line, paren_to_check )
let l = a:line
let lp = substitute(l, '[^(]', '', 'g')
let l = a:line
let rp = substitute(l, '[^)]', '', 'g')
- if a:paran_to_check =~ ')'
- " echom 'CountUnbalancedParan ) returning: ' .
+ if a:paren_to_check =~ ')'
+ " echom 'CountUnbalancedParen ) returning: ' .
" \ (strlen(rp) - strlen(lp))
return (strlen(rp) - strlen(lp))
- elseif a:paran_to_check =~ '('
- " echom 'CountUnbalancedParan ( returning: ' .
+ elseif a:paren_to_check =~ '('
+ " echom 'CountUnbalancedParen ( returning: ' .
" \ (strlen(lp) - strlen(rp))
return (strlen(lp) - strlen(rp))
else
- " echom 'CountUnbalancedParan unknown paran to check: ' .
- " \ a:paran_to_check
+ " echom 'CountUnbalancedParen unknown paren to check: ' .
+ " \ a:paren_to_check
return 0
endif
endfunction
" Unindent commands based on previous indent level
-function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
+function! s:CheckToIgnoreRightParen( prev_lnum, num_levels )
let lnum = a:prev_lnum
let line = getline(lnum)
let ends = 0
- let num_right_paran = a:num_levels
- let ignore_paran = 0
+ let num_right_paren = a:num_levels
+ let ignore_paren = 0
let vircol = 1
- while num_right_paran > 0
+ while num_right_paren > 0
silent! exec 'norm! '.lnum."G\<bar>".vircol."\<bar>"
- let right_paran = search( ')', 'W' )
- if right_paran != lnum
+ let right_paren = search( ')', 'W' )
+ if right_paren != lnum
" This should not happen since there should be at least
- " num_right_paran matches for this line
+ " num_right_paren matches for this line
break
endif
let vircol = virtcol(".")
" if getline(".") =~ '^)'
- let matching_paran = searchpair('(', '', ')', 'bW',
+ let matching_paren = searchpair('(', '', ')', 'bW',
\ 's:IsColComment(line("."), col("."))')
- if matching_paran < 1
+ if matching_paren < 1
" No match found
" echom 'CTIRP - no match found, ignoring'
break
endif
- if matching_paran == lnum
- " This was not an unmatched parantenses, start the search again
+ if matching_paren == lnum
+ " This was not an unmatched parentheses, start the search again
" again after this column
" echom 'CTIRP - same line match, ignoring'
continue
@@ -136,23 +142,23 @@ function! s:CheckToIgnoreRightParan( prev_lnum, num_levels )
" echom 'CTIRP - match: ' . line(".") . ' ' . getline(".")
- if getline(matching_paran) =~? '\(if\|while\)\>'
+ if getline(matching_paren) =~? '\(if\|while\)\>'
" echom 'CTIRP - if/while ignored: ' . line(".") . ' ' . getline(".")
- let ignore_paran = ignore_paran + 1
+ let ignore_paren = ignore_paren + 1
endif
" One match found, decrease and check for further matches
- let num_right_paran = num_right_paran - 1
+ let num_right_paren = num_right_paren - 1
endwhile
" Fallback - just move back one
" return a:prev_indent - shiftwidth()
- return ignore_paran
+ return ignore_paren
endfunction
" Based on the keyword provided, loop through previous non empty
-" non comment lines to find the statement that initated the keyword.
+" non comment lines to find the statement that initiated the keyword.
" Return its indent level
" CASE ..
" WHEN ...
@@ -295,26 +301,26 @@ function! GetSQLIndent()
" echom 'prevl - SQLBlockStart - indent ' . ind . ' line: ' . prevline
elseif prevline =~ '[()]'
if prevline =~ '('
- let num_unmatched_left = s:CountUnbalancedParan( prevline, '(' )
+ let num_unmatched_left = s:CountUnbalancedParen( prevline, '(' )
else
let num_unmatched_left = 0
endif
if prevline =~ ')'
- let num_unmatched_right = s:CountUnbalancedParan( prevline, ')' )
+ let num_unmatched_right = s:CountUnbalancedParen( prevline, ')' )
else
let num_unmatched_right = 0
- " let num_unmatched_right = s:CountUnbalancedParan( prevline, ')' )
+ " let num_unmatched_right = s:CountUnbalancedParen( prevline, ')' )
endif
if num_unmatched_left > 0
- " There is a open left paranethesis
+ " There is a open left parenthesis
" increase indent
let ind = ind + ( shiftwidth() * num_unmatched_left )
elseif num_unmatched_right > 0
- " if it is an unbalanced paranethesis only unindent if
+ " if it is an unbalanced parenthesis only unindent if
" it was part of a command (ie create table(..) )
" instead of part of an if (ie if (....) then) which should
" maintain the indent level
- let ignore = s:CheckToIgnoreRightParan( prevlnum, num_unmatched_right )
+ let ignore = s:CheckToIgnoreRightParen( prevlnum, num_unmatched_right )
" echom 'prevl - ) unbalanced - CTIRP - ignore: ' . ignore
if prevline =~ '^\s*)'
@@ -357,8 +363,8 @@ function! GetSQLIndent()
" elseif line =~ '^\s*)\s*;\?\s*$'
" elseif line =~ '^\s*)'
elseif line =~ '^\s*)'
- let num_unmatched_right = s:CountUnbalancedParan( line, ')' )
- let ignore = s:CheckToIgnoreRightParan( v:lnum, num_unmatched_right )
+ let num_unmatched_right = s:CountUnbalancedParen( line, ')' )
+ let ignore = s:CheckToIgnoreRightParen( v:lnum, num_unmatched_right )
" If the line ends in a ), then reduce the indent
" This catches items like:
" CREATE TABLE T1(
@@ -368,7 +374,7 @@ function! GetSQLIndent()
" But we do not want to unindent a line like:
" IF ( c1 = 1
" AND c2 = 3 ) THEN
- " let num_unmatched_right = s:CountUnbalancedParan( line, ')' )
+ " let num_unmatched_right = s:CountUnbalancedParen( line, ')' )
" if num_unmatched_right > 0
" elseif strpart( line, strlen(line)-1, 1 ) =~ ')'
" let ind = ind - shiftwidth()
diff --git a/runtime/indent/testdir/yaml.in b/runtime/indent/testdir/yaml.in
index e3d77e2543..8515e1752c 100644
--- a/runtime/indent/testdir/yaml.in
+++ b/runtime/indent/testdir/yaml.in
@@ -12,3 +12,8 @@ map2:
map: &anchor
map: val
# END_INDENT
+
+# START_INDENT
+map: multiline
+value
+# END_INDENT
diff --git a/runtime/indent/testdir/yaml.ok b/runtime/indent/testdir/yaml.ok
index b97b2e5896..5ca2871fc9 100644
--- a/runtime/indent/testdir/yaml.ok
+++ b/runtime/indent/testdir/yaml.ok
@@ -12,3 +12,8 @@ map2:
map: &anchor
map: val
# END_INDENT
+
+# START_INDENT
+map: multiline
+ value
+# END_INDENT
diff --git a/runtime/indent/yaml.vim b/runtime/indent/yaml.vim
index 9621b2b6ed..26e14effb2 100644
--- a/runtime/indent/yaml.vim
+++ b/runtime/indent/yaml.vim
@@ -1,7 +1,8 @@
" Vim indent file
-" Language: YAML
-" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
-" Last Change: 2019 Sep 28
+" Language: YAML
+" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
+" Last Update: Lukas Reineke
+" Last Change: 2020 Jun 07
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -53,7 +54,7 @@ let s:c_ns_anchor_name = s:c_ns_anchor_char.'+'
let s:c_ns_anchor_property = '\v\&'.s:c_ns_anchor_name
let s:ns_word_char = '\v[[:alnum:]_\-]'
-let s:ns_tag_char = '\v%(%\x\x|'.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
+let s:ns_tag_char = '\v%('.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
let s:c_named_tag_handle = '\v\!'.s:ns_word_char.'+\!'
let s:c_secondary_tag_handle = '\v\!\!'
let s:c_primary_tag_handle = '\v\!'
@@ -62,7 +63,7 @@ let s:c_tag_handle = '\v%('.s:c_named_tag_handle.
\ '|'.s:c_primary_tag_handle.')'
let s:c_ns_shorthand_tag = '\v'.s:c_tag_handle . s:ns_tag_char.'+'
let s:c_non_specific_tag = '\v\!'
-let s:ns_uri_char = '\v%(%\x\x|'.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
+let s:ns_uri_char = '\v%('.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
let s:c_verbatim_tag = '\v\!\<'.s:ns_uri_char.'+\>'
let s:c_ns_tag_property = '\v'.s:c_verbatim_tag.
\ '\v|'.s:c_ns_shorthand_tag.
diff --git a/runtime/optwin.vim b/runtime/optwin.vim
index 60dc6fdd31..1da73b397d 100644
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1078,7 +1078,7 @@ call <SID>BinOptionG("warn", &warn)
if has("quickfix")
- call <SID>Header("running make and jumping to errors")
+ call <SID>Header("running make and jumping to errors (quickfix)")
call append("$", "errorfile\tname of the file that contains error messages")
call <SID>OptionG("ef", &ef)
call append("$", "errorformat\tlist of formats for error messages")
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index dfcd931abd..497a9332ca 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -143,10 +143,10 @@ endif
" Numbers {{{2
" =======
-syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment
-syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment
-syn match vimNumber "\<0[xX]\x\+" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment
-syn match vimNumber "\%(^\|\A\)\zs#\x\{6}" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment
+syn match vimNumber "\<\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
+syn match vimNumber "-\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\=" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
+syn match vimNumber "\<0[xX]\x\+" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
+syn match vimNumber "\%(^\|\A\)\zs#\x\{6}" skipwhite nextgroup=vimGlobal,vimSubst,vimCommand,vimComment,vim9Comment
" All vimCommands are contained by vimIsCommand. {{{2
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimEcho,vimIsCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
@@ -183,7 +183,7 @@ syn keyword vimFTOption contained detect indent off on plugin
" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
-syn cluster vimAugroupList contains=vimAugroup,vimIsCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimNotFunc,vimMap,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue,vimSetEqual,vimOption
+syn cluster vimAugroupList contains=vimAugroup,vimIsCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimNotFunc,vimMap,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vim9Comment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vim9Comment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue,vimSetEqual,vimOption
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'a'
syn region vimAugroup fold matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
else
@@ -210,7 +210,7 @@ endif
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
" =========
syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
-syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLetHereDoc,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSearch,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
+syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vim9Comment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLetHereDoc,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSearch,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
if exists("g:vimsyn_folding") && g:vimsyn_folding =~# 'f'
@@ -268,9 +268,9 @@ syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentS
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
" Vim9 comments - TODO: might be highlighted while they don't work
-syn match vimComment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
-syn match vimComment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
+syn match vim9Comment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
+syn match vim9Comment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
+syn match vim9Comment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
" Vim9 comment inside expression
syn match vim9Comment +\s\zs#[^{].*$+ms=s+1 contains=@vimCommentGroup,vimCommentString
@@ -293,7 +293,7 @@ syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]"+lc=1 skip=+\\\\\|\\"
syn region vimString oneline keepend start=+[^a-zA-Z>!\\@]'+lc=1 end=+'+
syn region vimString oneline start=+=!+lc=1 skip=+\\\\\|\\!+ end=+!+ contains=@vimStringGroup
syn region vimString oneline start="=+"lc=1 skip="\\\\\|\\+" end="+" contains=@vimStringGroup
-"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup
+"syn region vimString oneline start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/" contains=@vimStringGroup " see tst45.vim
syn match vimString contained +"[^"]*\\$+ skipnl nextgroup=vimStringCont
syn match vimStringCont contained +\(\\\\\|.\)\{-}[^\\]"+
@@ -317,7 +317,7 @@ syn match vimCollClass contained transparent "\%#=1\[:\(alnum\|alpha\|blank\|
syn match vimSubstSubstr contained "\\z\=\d"
syn match vimSubstTwoBS contained "\\\\"
syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
-syn match vimSubstFlags contained "[&cegiIpr]\+"
+syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
" 'String': {{{2
syn match vimString "[^(,]'[^']\{-}\zs'"