forked from aniani/vim
patch 9.1.0525: Right release selects immediately when pum is truncated.
Problem: Right release selects immediately when pum is truncated.
Solution: Use pum_height instead of pum_size when checking click row.
Don't place it above mouse row when there is more space below.
(zeertzjq)
fixes: #15101
closes: #15102
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
7ccd1a2e85
commit
761a420c66
@@ -1332,9 +1332,10 @@ pum_set_event_info(dict_T *dict)
|
||||
static void
|
||||
pum_position_at_mouse(int min_width)
|
||||
{
|
||||
if (Rows - mouse_row > pum_size)
|
||||
if (Rows - mouse_row > pum_size || Rows - mouse_row > mouse_row)
|
||||
{
|
||||
// Enough space below the mouse row.
|
||||
// Enough space below the mouse row,
|
||||
// or there is more space below the mouse row than above.
|
||||
pum_row = mouse_row + 1;
|
||||
if (pum_height > Rows - pum_row)
|
||||
pum_height = Rows - pum_row;
|
||||
@@ -1633,7 +1634,7 @@ pum_select_mouse_pos(void)
|
||||
{
|
||||
int idx = mouse_row - pum_row;
|
||||
|
||||
if (idx < 0 || idx >= pum_size)
|
||||
if (idx < 0 || idx >= pum_height)
|
||||
pum_selected = -1;
|
||||
else if (*pum_array[idx].pum_text != NUL)
|
||||
pum_selected = idx;
|
||||
|
||||
Reference in New Issue
Block a user