patch 8.2.4724: current instance of last search pattern not easily spotted
Problem: Current instance of last search pattern not easily spotted.
Solution: Add CurSearch highlighting. (closes #10133)
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump
new file mode 100644
index 0000000..950ffef
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0࿈ff13|o@1| | +0&#ffffff0@55
+|b+0࿈ff13|a|r| +0&#ffffff0@56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| | +0&#ffffff0@55
+|b+0&#ffff4012|a|r| +0&#ffffff0@56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1|\|n|b|a|r| @32|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump
new file mode 100644
index 0000000..ef2922f
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0࿈ff13|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|2|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump
new file mode 100644
index 0000000..26e03e0
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+>f+0࿈ff13|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|/+0#0000000&|f|o@1| @37|5|,|1| @10|A|l@1|
diff --git a/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump
new file mode 100644
index 0000000..b0c38c2
--- /dev/null
+++ b/src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump
@@ -0,0 +1,9 @@
+|o+0&#ffffff0|n|e| @56
+>f+0࿈ff13|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|b|a|z| @56
+|f+0&#ffff4012|o@1| +0&#ffffff0@56
+|b|a|r| @56
+|~+0#4040ff13&| @58
+|~| @58
+|?+0#0000000&|f|o@1| @37|2|,|1| @10|A|l@1|
diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim
index f790c84..4ed249d 100644
--- a/src/testdir/test_search.vim
+++ b/src/testdir/test_search.vim
@@ -1038,6 +1038,34 @@
bwipe!
endfunc
+func Test_hlsearch_cursearch()
+ CheckScreendump
+
+ let lines =<< trim END
+ set hlsearch scrolloff=0
+ call setline(1, ['one', 'foo', 'bar', 'baz', 'foo', 'bar'])
+ hi Search ctermbg=yellow
+ hi CurSearch ctermbg=blue
+ END
+ call writefile(lines, 'Xhlsearch_cursearch')
+ let buf = RunVimInTerminal('-S Xhlsearch_cursearch', {'rows': 9, 'cols': 60})
+
+ call term_sendkeys(buf, "gg/foo\<CR>")
+ call VerifyScreenDump(buf, 'Test_hlsearch_cursearch_single_line_1', {})
+
+ call term_sendkeys(buf, "n")
+ call VerifyScreenDump(buf, 'Test_hlsearch_cursearch_single_line_2', {})
+
+ call term_sendkeys(buf, "?\<CR>")
+ call VerifyScreenDump(buf, 'Test_hlsearch_cursearch_single_line_3', {})
+
+ call term_sendkeys(buf, "gg/foo\\nbar\<CR>")
+ call VerifyScreenDump(buf, 'Test_hlsearch_cursearch_multiple_line', {})
+
+ call StopVimInTerminal(buf)
+ call delete('Xhlsearch_cursearch')
+endfunc
+
" Similar to Test_incsearch_substitute() but with a screendump halfway.
func Test_incsearch_substitute_dump()
CheckOption incsearch