mirror of
https://github.com/neovim/neovim.git
synced 2024-12-29 14:41:06 -07:00
fix(pum): show right-click menu above cmdline area
This commit is contained in:
parent
e3f36377c1
commit
1d7172e925
@ -399,6 +399,7 @@ void pum_display(pumitem_T *array, int size, int selected, bool array_changed, i
|
||||
// room the window size will keep changing.
|
||||
} while (pum_set_selected(selected, redo_count) && (++redo_count <= 2));
|
||||
|
||||
pum_grid.zindex = (State == MODE_CMDLINE) ? kZIndexCmdlinePopupMenu : kZIndexPopupMenu;
|
||||
pum_redraw();
|
||||
}
|
||||
|
||||
@ -443,9 +444,6 @@ void pum_redraw(void)
|
||||
|
||||
grid_assign_handle(&pum_grid);
|
||||
|
||||
pum_grid.zindex = ((State == MODE_CMDLINE)
|
||||
? kZIndexCmdlinePopupMenu : kZIndexPopupMenu);
|
||||
|
||||
bool moved = ui_comp_put_grid(&pum_grid, pum_row, pum_col - col_off,
|
||||
pum_height, grid_width, false, true);
|
||||
bool invalid_grid = moved || pum_invalid;
|
||||
@ -1088,6 +1086,7 @@ void pum_show_popupmenu(vimmenu_T *menu)
|
||||
for (;;) {
|
||||
pum_is_visible = true;
|
||||
pum_is_drawn = true;
|
||||
pum_grid.zindex = kZIndexCmdlinePopupMenu; // show above cmdline area #23275
|
||||
pum_redraw();
|
||||
setcursor_mayforce(true);
|
||||
|
||||
|
@ -3259,16 +3259,16 @@ describe('builtin popupmenu', function()
|
||||
:let g:menustr = 'bar' |
|
||||
]])
|
||||
eq('bar', meths.get_var('menustr'))
|
||||
feed('<RightMouse><20,1>')
|
||||
feed('<RightMouse><20,2>')
|
||||
screen:expect([[
|
||||
^popup menu test |
|
||||
{1:~ }|
|
||||
{1:~ }|
|
||||
{1:~ }{n: foo }{1: }|
|
||||
{1:~ }{n: bar }{1: }|
|
||||
{1:~ }{n: baz }{1: }|
|
||||
:let g:menustr = 'bar' |
|
||||
:let g:menustr = 'b{n: baz } |
|
||||
]])
|
||||
feed('<LeftMouse><22,4>')
|
||||
feed('<LeftMouse><22,5>')
|
||||
screen:expect([[
|
||||
^popup menu test |
|
||||
{1:~ }|
|
||||
@ -3675,7 +3675,7 @@ describe('builtin popupmenu with ui/ext_multigrid', function()
|
||||
{n: foo }|
|
||||
{n: bar }|
|
||||
{n: baz }|
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 2, 19, false, 100}}})
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 2, 19, false, 250}}})
|
||||
meths.input_mouse('left', 'press', '', 4, 2, 2)
|
||||
screen:expect({grid=[[
|
||||
## grid 1
|
||||
@ -3716,7 +3716,7 @@ describe('builtin popupmenu with ui/ext_multigrid', function()
|
||||
{n: foo }|
|
||||
{n: bar }|
|
||||
{n: baz }|
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 100}}})
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 250}}})
|
||||
meths.input_mouse('right', 'drag', '', 2, 3, 6)
|
||||
screen:expect({grid=[[
|
||||
## grid 1
|
||||
@ -3738,7 +3738,7 @@ describe('builtin popupmenu with ui/ext_multigrid', function()
|
||||
{n: foo }|
|
||||
{n: bar }|
|
||||
{s: baz }|
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 100}}})
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 250}}})
|
||||
meths.input_mouse('right', 'release', '', 2, 1, 6)
|
||||
screen:expect({grid=[[
|
||||
## grid 1
|
||||
@ -3780,7 +3780,7 @@ describe('builtin popupmenu with ui/ext_multigrid', function()
|
||||
{n: foo }|
|
||||
{n: bar }|
|
||||
{n: baz }|
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 100}}})
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 250}}})
|
||||
eq(true, screen.options.mousemoveevent)
|
||||
meths.input_mouse('move', '', '', 2, 3, 6)
|
||||
screen:expect({grid=[[
|
||||
@ -3803,7 +3803,7 @@ describe('builtin popupmenu with ui/ext_multigrid', function()
|
||||
{n: foo }|
|
||||
{n: bar }|
|
||||
{s: baz }|
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 100}}})
|
||||
]], float_pos={[4] = {{id = -1}, 'NW', 2, 1, 3, false, 250}}})
|
||||
eq(true, screen.options.mousemoveevent)
|
||||
meths.input_mouse('left', 'press', '', 2, 2, 6)
|
||||
screen:expect({grid=[[
|
||||
|
Loading…
Reference in New Issue
Block a user