neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit c031547c8d39c5fc99c6f1fab31b50ba6fb32cbc
parent 624f6a8ca012dd6d27f1e67ace6ef10d04c5625f
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu, 27 Oct 2022 07:58:51 +0800

vim-patch:8.2.3839: using \z() with \z1 not tested for syntax highlighting

Problem:    Using \z() with \z1 not tested for syntax highlighting.
Solution:   Add a test. (Dominique Pellé, closes vim/vim#9365)

https://github.com/vim/vim/commit/354b23a9f87fd8c5aec457d88320a0a5bce4b985

Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>

Diffstat:
Msrc/nvim/testdir/test_syntax.vim | 18++++++++++++++++++
1 file changed, 18 insertions(+), 0 deletions(-)

diff --git a/src/nvim/testdir/test_syntax.vim b/src/nvim/testdir/test_syntax.vim @@ -666,6 +666,24 @@ func Test_syntax_c() call delete('Xtest.c') endfun +" Test \z(...) along with \z1 +func Test_syn_zsub() + new + syntax on + call setline(1, 'xxx start foo xxx not end foo xxx end foo xxx') + let l:expected = ' ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ ' + + for l:re in [0, 1, 2] + " Example taken from :help :syn-ext-match + syntax region Z start="start \z(\I\i*\)" skip="not end \z1" end="end \z1" + eval AssertHighlightGroups(1, 1, l:expected, 1, 'regexp=' .. l:re) + syntax clear Z + endfor + + set re& + bw! +endfunc + " Using \z() in a region with NFA failing should not crash. func Test_syn_wrong_z_one() new