aboutsummaryrefslogtreecommitdiff
path: root/test/old
diff options
context:
space:
mode:
authorglepnir <glephunter@gmail.com>2024-12-24 18:12:50 +0800
committerzeertzjq <zeertzjq@outlook.com>2024-12-24 18:56:40 +0800
commit05eca4c04d4d2cc6ad3a2af69d76085135e9b16c (patch)
treefe4fea9e86bcd74a70b2e0ea7590bd07f69a412b /test/old
parenta103ec7449c4a318788b519cdeac2e525136b66b (diff)
downloadrneovim-05eca4c04d4d2cc6ad3a2af69d76085135e9b16c.tar.gz
rneovim-05eca4c04d4d2cc6ad3a2af69d76085135e9b16c.tar.bz2
rneovim-05eca4c04d4d2cc6ad3a2af69d76085135e9b16c.zip
vim-patch:9.1.0956: completion may crash, completion highlight wrong with preview window
Problem: completion may crash, completion highlight wrong with preview window (after v9.1.0954) Solution: correctly calculate scroll offset, check for preview window when adding extra highlighting (glepnir) when there have a preview window prepare_tagpreview will change curwin to preview window and this may cause ComplMatchIns check condition not correct. check wp is curwin and also the type of wp is not a preview or poup info fixes: https://github.com/vim/vim/issues/16284 closes: https://github.com/vim/vim/pull/16283 https://github.com/vim/vim/commit/8d0bb6dc9f2e5d94ebb59671d592c1b7fa325ca6
Diffstat (limited to 'test/old')
-rw-r--r--test/old/testdir/test_popup.vim21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim
index f16a897b07..e902ea3bc2 100644
--- a/test/old/testdir/test_popup.vim
+++ b/test/old/testdir/test_popup.vim
@@ -1716,11 +1716,15 @@ endfunc
func Test_pum_matchins_highlight()
CheckScreendump
let lines =<< trim END
+ let g:change = 0
func Omni_test(findstart, base)
if a:findstart
return col(".")
endif
- return [#{word: "foo"}, #{word: "bar"}, #{word: "你好"}]
+ if g:change == 0
+ return [#{word: "foo"}, #{word: "bar"}, #{word: "你好"}]
+ endif
+ return [#{word: "foo", info: "info"}, #{word: "bar"}, #{word: "你好"}]
endfunc
set omnifunc=Omni_test
hi ComplMatchIns ctermfg=red
@@ -1767,6 +1771,10 @@ func Test_pum_matchins_highlight()
call VerifyScreenDump(buf, 'Test_pum_matchins_10', {})
call term_sendkeys(buf, "\<Esc>")
+ call term_sendkeys(buf, ":let g:change=1\<CR>S\<C-X>\<C-O>")
+ call VerifyScreenDump(buf, 'Test_pum_matchins_11', {})
+ call term_sendkeys(buf, "\<Esc>")
+
call StopVimInTerminal(buf)
endfunc
@@ -1812,4 +1820,15 @@ func Test_pum_matchins_highlight_combine()
call StopVimInTerminal(buf)
endfunc
+" this used to crash
+func Test_popup_completion_many_ctrlp()
+ new
+ let candidates=repeat(['a0'], 99)
+ call setline(1, candidates)
+ exe ":norm! VGg\<C-A>"
+ norm! G
+ call feedkeys("o" .. repeat("\<c-p>", 100), 'tx')
+ bw!
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab