mirror of
https://github.com/vim/vim.git
synced 2025-11-10 10:47:23 -05:00
patch 9.1.1594: completion: search completion throws errors
Problem: completion: search completion throws errors, wrong placement
of pum menu with 'imi'=1 (berggeist)
Solution: Fix those errors (Girish Palya)
fixes: #17858
closes: #17870
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
bb0860abc9
commit
66467cf5d8
@@ -109,7 +109,7 @@ pum_display(
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_RIGHTLEFT
|
||||
pum_rl = State != MODE_CMDLINE && curwin->w_p_rl;
|
||||
pum_rl = (State & MODE_CMDLINE) == 0 && curwin->w_p_rl;
|
||||
#endif
|
||||
|
||||
do
|
||||
@@ -129,7 +129,7 @@ pum_display(
|
||||
// Remember the essential parts of the window position and size, so we
|
||||
// can decide when to reposition the popup menu.
|
||||
pum_window = curwin;
|
||||
if (State == MODE_CMDLINE)
|
||||
if (State & MODE_CMDLINE)
|
||||
// cmdline completion popup menu
|
||||
pum_win_row = cmdline_row;
|
||||
else
|
||||
@@ -165,7 +165,7 @@ pum_display(
|
||||
&& pum_win_row - above_row > (below_row - above_row) / 2)
|
||||
{
|
||||
// pum above "pum_win_row"
|
||||
if (State == MODE_CMDLINE)
|
||||
if (State & MODE_CMDLINE)
|
||||
// for cmdline pum, no need for context lines
|
||||
context_lines = 0;
|
||||
else
|
||||
@@ -191,7 +191,7 @@ pum_display(
|
||||
else
|
||||
{
|
||||
// pum below "pum_win_row"
|
||||
if (State == MODE_CMDLINE)
|
||||
if (State & MODE_CMDLINE)
|
||||
// for cmdline pum, no need for context lines
|
||||
context_lines = 0;
|
||||
else
|
||||
@@ -230,7 +230,7 @@ pum_display(
|
||||
max_width = p_pmw;
|
||||
|
||||
// Calculate column
|
||||
if (State == MODE_CMDLINE)
|
||||
if (State & MODE_CMDLINE)
|
||||
// cmdline completion popup menu
|
||||
cursor_col = cmdline_compl_startcol();
|
||||
else
|
||||
@@ -440,7 +440,7 @@ pum_compute_text_attrs(char_u *text, hlf_T hlf, int user_hlattr)
|
||||
return NULL;
|
||||
|
||||
is_select = hlf == HLF_PSI;
|
||||
leader = State == MODE_CMDLINE ? cmdline_compl_pattern()
|
||||
leader = (State & MODE_CMDLINE) ? cmdline_compl_pattern()
|
||||
: ins_compl_leader();
|
||||
if (leader == NULL || *leader == NUL)
|
||||
return NULL;
|
||||
@@ -449,7 +449,7 @@ pum_compute_text_attrs(char_u *text, hlf_T hlf, int user_hlattr)
|
||||
if (attrs == NULL)
|
||||
return NULL;
|
||||
|
||||
in_fuzzy = State == MODE_CMDLINE ? cmdline_compl_is_fuzzy()
|
||||
in_fuzzy = (State & MODE_CMDLINE) ? cmdline_compl_is_fuzzy()
|
||||
: (get_cot_flags() & COT_FUZZY) != 0;
|
||||
leader_len = STRLEN(leader);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user