aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/popupmenu_spec.lua
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/functional/ui/popupmenu_spec.lua
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/functional/ui/popupmenu_spec.lua')
-rw-r--r--test/functional/ui/popupmenu_spec.lua21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua
index 75421c6998..d1228d3607 100644
--- a/test/functional/ui/popupmenu_spec.lua
+++ b/test/functional/ui/popupmenu_spec.lua
@@ -5567,11 +5567,15 @@ describe('builtin popupmenu', function()
-- oldtest: Test_pum_matchins_highlight()
it('with ComplMatchIns highlight', function()
exec([[
+ 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 guifg=red
@@ -5663,6 +5667,21 @@ describe('builtin popupmenu', function()
{2:-- INSERT --} |
]])
feed('<Esc>')
+
+ feed(':let g:change=1<CR>S<C-X><C-O>')
+ screen:expect([[
+ info |
+ {1:~ }|*2
+ {3:[Scratch] [Preview] }|
+ {8:foo}^ |
+ {s:foo }{1: }|
+ {n:bar }{1: }|
+ {n:你好 }{1: }|
+ {1:~ }|*10
+ {4:[No Name] [+] }|
+ {2:-- }{5:match 1 of 3} |
+ ]])
+ feed('<Esc>')
end)
-- oldtest: Test_pum_matchins_highlight_combine()