mirror of
https://github.com/vim/vim.git
synced 2025-07-24 10:45:12 -04:00
- Differentiate between :substitute and substitute(), fixes #13883. - Match all allowed :substitute delimiters. - Remove leading context from :substitute matches. Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
87 lines
1.5 KiB
VimL
87 lines
1.5 KiB
VimL
substitute/foo/bar/&
|
|
substitute/foo/bar/cegiInp#lr
|
|
|
|
snomagic/foo/bar/&
|
|
snomagic/foo/bar/cegiInp#lr
|
|
|
|
smagic/foo/bar/&
|
|
smagic/foo/bar/cegiInp#lr
|
|
|
|
:substitute/foo/bar/&
|
|
:substitute/foo/bar/cegiInp#lr
|
|
|
|
:snomagic/foo/bar/&
|
|
:snomagic/foo/bar/cegiInp#lr
|
|
|
|
:smagic/foo/bar/&
|
|
:smagic/foo/bar/cegiInp#lr
|
|
|
|
call Foo() | substitute/foo/bar/&
|
|
call Foo() | substitute/foo/bar/cegiInp#lr
|
|
|
|
call Foo() | snomagic/foo/bar/&
|
|
call Foo() | snomagic/foo/bar/cegiInp#lr
|
|
|
|
call Foo() | smagic/foo/bar/&
|
|
call Foo() | smagic/foo/bar/cegiInp#lr
|
|
|
|
let foo = str->substitute(str, pat, sub, flags)
|
|
|
|
function Foo()
|
|
substitute/foo/bar/
|
|
let bar = str->substitute(str, pat, sub, flags)
|
|
endfunction
|
|
|
|
def Foo()
|
|
substitute/foo/bar/
|
|
let bar = str->substitute(str, pat, sub, flags)
|
|
enddef
|
|
|
|
" various delimiters
|
|
|
|
s!/!//! " comment
|
|
" s"/"//" " comment (works but disallowed)
|
|
s#/#//# " comment
|
|
s$/$//$ " comment
|
|
s%/%//% " comment
|
|
s&/&//& " comment
|
|
s'/'//' " comment
|
|
" FIXME - matches vimUserFunc
|
|
" s(/(//( " comment
|
|
s)/)//) " comment
|
|
s*/*//* " comment
|
|
s+/+//+ " comment
|
|
s,/,//, " comment
|
|
s-/-//- " comment
|
|
s././/. " comment
|
|
s/X/XX/ " comment
|
|
s:/://: " comment
|
|
s;/;//; " comment
|
|
s</<//< " comment
|
|
s=/=//= " comment
|
|
s>/>//> " comment
|
|
s?/?//? " comment
|
|
s@/@//@ " comment
|
|
s[/[//[ " comment
|
|
" s\/\//\ " comment (disallowed)
|
|
s]/]//] " comment
|
|
s^/^//^ " comment
|
|
s_/_//_ " comment
|
|
s`/`//` " comment
|
|
s{/{//{ " comment
|
|
" s|/|//| " comment (disallowed)
|
|
s}/}//} " comment
|
|
s~/~//~ " comment
|
|
|
|
|
|
" Issue #13883
|
|
|
|
str[s]
|
|
str(s)
|
|
|
|
def Test()
|
|
str[s]
|
|
str(s)
|
|
enddef
|
|
|