From 4b19f94c2800b6ab89db57919d35c9696f48cef7 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Thu, 21 Apr 2022 19:59:25 +0800 Subject: vim-patch:8.2.4759: CurSearch highlight does not work for multi-line match Problem: CurSearch highlight does not work for multi-line match. Solution: Check cursor position before adjusting columns. (closes vim/vim#10133) https://github.com/vim/vim/commit/693ccd11606b59eb0f81c6c1948679e61ada4022 --- test/functional/ui/searchhl_spec.lua | 109 ++++++++++++++++++++--------------- 1 file changed, 62 insertions(+), 47 deletions(-) (limited to 'test') diff --git a/test/functional/ui/searchhl_spec.lua b/test/functional/ui/searchhl_spec.lua index a08db3e5e7..84dc3c59bb 100644 --- a/test/functional/ui/searchhl_spec.lua +++ b/test/functional/ui/searchhl_spec.lua @@ -163,53 +163,68 @@ describe('search highlighting', function() end) it('works for multiline match', function() - insert([[ - one - foo - bar - baz - foo - bar]]) - feed('gg/foo') - screen:expect([[ - one | - {2:^foo} | - bar | - baz | - {1:foo} | - bar | - /foo | - ]]) - feed('n') - screen:expect([[ - one | - {1:foo} | - bar | - baz | - {2:^foo} | - bar | - /foo | - ]]) - feed('?') - screen:expect([[ - one | - {2:^foo} | - bar | - baz | - {1:foo} | - bar | - ?foo | - ]]) - feed('gg/foo\\nbar') - screen:expect([[ - one | - {2:^foo} | - {1:bar} | - baz | - {1:foo} | - {1:bar} | - /foo\nbar | - ]]) + command([[call setline(1, ['one', 'foo', 'bar', 'baz', 'foo', 'bar'])]]) + feed('gg/foo') + screen:expect([[ + one | + {2:^foo} | + bar | + baz | + {1:foo} | + bar | + /foo | + ]]) + feed('n') + screen:expect([[ + one | + {1:foo} | + bar | + baz | + {2:^foo} | + bar | + /foo | + ]]) + feed('?') + screen:expect([[ + one | + {2:^foo} | + bar | + baz | + {1:foo} | + bar | + ?foo | + ]]) + feed('gg/foo\\nbar') + screen:expect([[ + one | + {2:^foo} | + {2:bar} | + baz | + {1:foo} | + {1:bar} | + /foo\nbar | + ]]) + command([[call setline(1, ['---', 'abcdefg', 'hijkl', '---', 'abcdefg', 'hijkl'])]]) + feed('gg/efg\\nhij') + screen:expect([[ + --- | + abcd{2:^efg} | + {2:hij}kl | + --- | + abcd{1:efg} | + {1:hij}kl | + /efg\nhij | + ]]) + feed('n') + screen:expect([[ + --- | + abcd{1:efg} | + {1:hij}kl | + --- | + abcd{2:^efg} | + {2:hij}kl | + /efg\nhij | + ]]) end) end) -- cgit