vim-patch:9.1.0934: hard to view an existing buffer in the preview window (#31605)

Problem:  hard to view an existing buffer in the preview window
Solution: add the :pbuffer command (Yinzuo Jiang)

Similar as `:pedit` and `:buffer` command. `:pbuffer` edits buffer [N]
from the buffer list in the preview window.

`:pbuffer` can also open special buffer, for example terminal buffer.

closes: vim/vim#16222

a2a2fe841e

Cherry-pick Test_popup_and_previewwindow_dump() changes from patch
9.0.0625.
Cherry-pick Run_noroom_for_newwindow_test() changes from patches
8.2.0432 and 9.0.0363.

Co-authored-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
This commit is contained in:
zeertzjq
2024-12-17 11:34:30 +08:00
committed by GitHub
parent 15153c4cd5
commit b03e790cdd
10 changed files with 216 additions and 37 deletions

View File

@@ -1542,6 +1542,81 @@ describe('builtin popupmenu', function()
end)
if not multigrid then
describe('popup and preview window do not overlap', function()
before_each(function()
screen:try_resize(53, 20)
end)
-- oldtest: Test_popup_and_previewwindow_dump_pedit()
it('with :pedit', function()
exec([[
set previewheight=9
silent! pedit
call setline(1, map(repeat(["ab"], 10), "v:val .. v:key"))
exec "norm! G\<C-E>\<C-E>"
]])
feed('o')
n.poke_eventloop()
feed('<C-X><C-N>')
screen:expect([[
ab0 |
ab1 |
ab2 |
ab3 |
ab4 |
ab5 |
ab6 |
ab7 |
ab8 |
{s:ab0 }{c: }{3:ew][+] }|
{n:ab1 }{c: } |
{n:ab2 }{c: } |
{n:ab3 }{c: } |
{n:ab4 }{s: } |
{n:ab5 }{s: } |
{n:ab6 }{s: } |
ab0^ |
{1:~ }|
{4:[No Name] [+] }|
{2:-- Keyword Local completion (^N^P) }{5:match 1 of 10} |
]])
end)
-- oldtest: Test_popup_and_previewwindow_dump_pbuffer()
it('with :pbuffer', function()
exec([[
set previewheight=9
silent! pbuffer
call setline(1, map(repeat(["ab"], 10), "v:val .. v:key"))
exec "norm! G\<C-E>\<C-E>\<C-E>"
]])
feed('o')
n.poke_eventloop()
feed('<C-X><C-N>')
screen:expect([[
ab0 |
ab1 |
ab2 |
ab3 |
ab4 |
ab5 |
ab6 |
ab7 |
ab8 |
{s:ab0 }{c: }{3:ew][+] }|
{n:ab1 }{c: } |
{n:ab2 }{c: } |
{n:ab3 }{s: } |
{n:ab4 }{s: } |
{n:ab5 }{s: } |
ab0^ |
{1:~ }|*2
{4:[No Name] [+] }|
{2:-- Keyword Local completion (^N^P) }{5:match 1 of 10} |
]])
end)
end)
-- oldtest: Test_pum_with_preview_win()
it('preview window opened during completion', function()
exec([[