mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
vim-patch:92f4e91: runtime(vim): Update base-syntax, allow whitespace before :substitute pattern (#29210)
Allow whitespace between the :substitute command and its pattern
argument. Although unusual, it is supported and there are examples in
the wild.
Match Vi compatible :substitute commands like :s\/{string}/. See :help
E1270.
fixes: vim/vim#14920
closes: vim/vim#14923
92f4e91590
Co-authored-by: Doug Kearns <dougkearns@gmail.com>
This commit is contained in:
parent
12b43919a1
commit
78d3f47428
@ -3332,7 +3332,7 @@ embedded script highlighting they wish to have. >
|
|||||||
This option is disabled by default.
|
This option is disabled by default.
|
||||||
*g:vimsyn_folding*
|
*g:vimsyn_folding*
|
||||||
|
|
||||||
Some folding is now supported with syntax/vim.vim: >
|
Some folding is now supported with when 'foldmethod' is set to "syntax": >
|
||||||
|
|
||||||
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
|
g:vimsyn_folding == 0 or doesn't exist: no syntax-based folding
|
||||||
g:vimsyn_folding =~ 'a' : augroups
|
g:vimsyn_folding =~ 'a' : augroups
|
||||||
@ -3343,6 +3343,11 @@ Some folding is now supported with syntax/vim.vim: >
|
|||||||
g:vimsyn_folding =~ 'P' : fold python script
|
g:vimsyn_folding =~ 'P' : fold python script
|
||||||
g:vimsyn_folding =~ 'r' : fold ruby script
|
g:vimsyn_folding =~ 'r' : fold ruby script
|
||||||
<
|
<
|
||||||
|
|
||||||
|
By default, g:vimsyn_folding is unset. Concatenate the indicated characters
|
||||||
|
to support folding of multiple syntax constructs; i.e.
|
||||||
|
g:vimsyn_folding = "fh" will enable folding of both functions and heredocs.
|
||||||
|
|
||||||
*g:vimsyn_noerror*
|
*g:vimsyn_noerror*
|
||||||
Not all error highlighting that syntax/vim.vim does may be correct; Vim script
|
Not all error highlighting that syntax/vim.vim does may be correct; Vim script
|
||||||
is a difficult language to highlight correctly. A way to suppress error
|
is a difficult language to highlight correctly. A way to suppress error
|
||||||
|
@ -428,12 +428,10 @@ syn match vimStringInterpolationBrace contained "}}"
|
|||||||
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
|
syn cluster vimSubstList contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
|
||||||
syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
|
syn cluster vimSubstRepList contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
|
||||||
syn cluster vimSubstList add=vimCollection
|
syn cluster vimSubstList add=vimCollection
|
||||||
syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>[\"#|]\@!" nextgroup=vimSubstPat
|
syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat
|
||||||
syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)_\@=" nextgroup=vimSubstPat
|
syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat
|
||||||
syn match vimSubst "^\s*\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\ze#.\{-}#.\{-}#" nextgroup=vimSubstPat
|
syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>" skipwhite nextgroup=vimSubstPat
|
||||||
syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\>[\"#|]\@!" nextgroup=vimSubstPat
|
syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)[_#]\@=" skipwhite nextgroup=vimSubstPat
|
||||||
syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)_\@=" nextgroup=vimSubstPat
|
|
||||||
syn match vimSubst1 contained "\%(s\%[ubstitute]\|sm\%[agic]\>\|sno\%[magic]\)\ze#.\{-}#.\{-}#" nextgroup=vimSubstPat
|
|
||||||
" TODO: Vim9 illegal separators for abbreviated :s form are [-.:], :su\%[...] required
|
" TODO: Vim9 illegal separators for abbreviated :s form are [-.:], :su\%[...] required
|
||||||
" : # is allowed but "not recommended" (see :h pattern-delimiter)
|
" : # is allowed but "not recommended" (see :h pattern-delimiter)
|
||||||
syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
|
syn region vimSubstPat contained matchgroup=vimSubstDelim start="\z([!#$%&'()*+,-./:;<=>?@[\]^_`{}~]\)"rs=s+1 skip="\\\\\|\\\z1" end="\z1"re=e-1,me=e-1 contains=@vimSubstList nextgroup=vimSubstRep4 oneline
|
||||||
@ -446,6 +444,10 @@ syn match vimSubstTwoBS contained "\\\\"
|
|||||||
syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
|
syn match vimSubstFlagErr contained "[^< \t\r|]\+" contains=vimSubstFlags
|
||||||
syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
|
syn match vimSubstFlags contained "[&cegiIlnpr#]\+"
|
||||||
|
|
||||||
|
" Vi compatibility
|
||||||
|
syn match vimSubstDelim contained "\\"
|
||||||
|
syn match vimSubstPat contained "\\\ze[/?&]" contains=vimSubstDelim nextgroup=vimSubstRep4
|
||||||
|
|
||||||
" 'String': {{{2
|
" 'String': {{{2
|
||||||
syn match vimString "[^(,]'[^']\{-}\zs'"
|
syn match vimString "[^(,]'[^']\{-}\zs'"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user