mirror of
https://github.com/neovim/neovim.git
synced 2026-07-18 07:01:19 +00:00
vim-patch:8.2.0840: search match count wrong when only match is in fold
Problem: Search match count wrong when only match is in fold.
Solution: Update search stats when in a closed fold. (Christian Brabandt,
closes vim/vim#6160, closes vim/vim#6152)
6cb0726215
This commit is contained in:
@@ -1370,7 +1370,10 @@ int do_search(
|
||||
&& !shortmess(SHM_SEARCHCOUNT)
|
||||
&& msgbuf != NULL) {
|
||||
search_stat(dirc, &pos, show_top_bot_msg, msgbuf,
|
||||
(count != 1 || has_offset));
|
||||
(count != 1
|
||||
|| has_offset
|
||||
|| (!(fdo_flags & FDO_SEARCH)
|
||||
&& hasFolding(curwin->w_cursor.lnum, NULL, NULL))));
|
||||
}
|
||||
|
||||
// The search command can be followed by a ';' to do another search.
|
||||
|
||||
@@ -186,6 +186,35 @@ func Test_search_stat()
|
||||
bwipe!
|
||||
endfunc
|
||||
|
||||
func Test_search_stat_foldopen()
|
||||
CheckScreendump
|
||||
|
||||
let lines =<< trim END
|
||||
set shortmess-=S
|
||||
setl foldenable foldmethod=indent foldopen-=search
|
||||
call append(0, ['if', "\tfoo", "\tfoo", 'endif'])
|
||||
let @/ = 'foo'
|
||||
call cursor(1,1)
|
||||
norm n
|
||||
END
|
||||
call writefile(lines, 'Xsearchstat1')
|
||||
|
||||
let buf = RunVimInTerminal('-S Xsearchstat1', #{rows: 10})
|
||||
call TermWait(buf)
|
||||
call VerifyScreenDump(buf, 'Test_searchstat_3', {})
|
||||
|
||||
call term_sendkeys(buf, "n")
|
||||
call TermWait(buf)
|
||||
call VerifyScreenDump(buf, 'Test_searchstat_3', {})
|
||||
|
||||
call term_sendkeys(buf, "n")
|
||||
call TermWait(buf)
|
||||
call VerifyScreenDump(buf, 'Test_searchstat_3', {})
|
||||
|
||||
call StopVimInTerminal(buf)
|
||||
call delete('Xsearchstat1')
|
||||
endfunc
|
||||
|
||||
func! Test_search_stat_screendump()
|
||||
CheckScreendump
|
||||
|
||||
|
||||
Reference in New Issue
Block a user