From c72d877c3374796a1e4b71481503225d59a9afc7 Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Wed, 20 Mar 2024 14:59:04 +0100 Subject: fix(cmdline): wrong 'incsearch' highlighting after :redraw (#27947) Problem: Calling :redraw from a timer callback clears 'incsearch' highlighting. Solution: Re-apply 'incsearch' highlighting if the screen was updated. --- test/functional/ui/searchhl_spec.lua | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/functional/ui') diff --git a/test/functional/ui/searchhl_spec.lua b/test/functional/ui/searchhl_spec.lua index a05436cf55..a702de5dc7 100644 --- a/test/functional/ui/searchhl_spec.lua +++ b/test/functional/ui/searchhl_spec.lua @@ -674,4 +674,18 @@ describe('search highlighting', function() :%g@a/b^ | ]]) end) + + it('incsearch is still visible after :redraw from K_EVENT', function() + fn.setline(1, { 'foo', 'bar' }) + feed('/foo/bar') + screen:expect([[ + foo | + {3:bar} | + {1:~ }|*4 + /bar^ | + ]]) + command('redraw!') + -- There is an intermediate state where :redraw! removes 'incsearch' highlight. + screen:expect_unchanged(true) + end) end) -- cgit