0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00
vim/runtime/syntax/testdir/input/vim_ex_substitute.vim
dkearns 2c51e15b66
runtime(vim): Update syntax file, improve :substitute matching (#14093)
- 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>
2024-02-26 21:10:18 +01:00

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