patch 9.1.1452: completion: redundant check for completion flags
Problem: completion: redundant check for completion flags Solution: refactor code slightly (glepnir) refactor: nest fuzzy completion logic to avoid duplicate flag checks - Combine COT_FUZZY checks into single nested condition - Reduce redundant bitwise operations in ins_compl_new_leader() closes: #17494 Signed-off-by: glepnir <glephunter@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
30b4ddf925
commit
ecf8f15884
@ -2316,6 +2316,7 @@ ins_compl_need_restart(void)
|
|||||||
static void
|
static void
|
||||||
ins_compl_new_leader(void)
|
ins_compl_new_leader(void)
|
||||||
{
|
{
|
||||||
|
int cur_cot_flags = get_cot_flags();
|
||||||
ins_compl_del_pum();
|
ins_compl_del_pum();
|
||||||
ins_compl_delete();
|
ins_compl_delete();
|
||||||
ins_compl_insert_bytes(compl_leader.string + get_compl_len(), -1);
|
ins_compl_insert_bytes(compl_leader.string + get_compl_len(), -1);
|
||||||
@ -2350,20 +2351,21 @@ ins_compl_new_leader(void)
|
|||||||
compl_restarting = FALSE;
|
compl_restarting = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
// When 'cot' contains "fuzzy" set the cp_score
|
// When 'cot' contains "fuzzy" set the cp_score and maybe sort
|
||||||
if (get_cot_flags() & COT_FUZZY)
|
if (cur_cot_flags & COT_FUZZY)
|
||||||
set_fuzzy_score();
|
|
||||||
// Sort the matches linked list based on fuzzy score
|
|
||||||
int cur_cot_flags = get_cot_flags();
|
|
||||||
if ((cur_cot_flags & COT_FUZZY) && !(cur_cot_flags & COT_NOSORT))
|
|
||||||
{
|
{
|
||||||
sort_compl_match_list(cp_compare_fuzzy);
|
set_fuzzy_score();
|
||||||
if ((cur_cot_flags & COT_NOINSERT) && !(cur_cot_flags & COT_NOSELECT)
|
// Sort the matches linked list based on fuzzy score
|
||||||
&& compl_first_match)
|
if (!(cur_cot_flags & COT_NOSORT))
|
||||||
{
|
{
|
||||||
compl_shown_match = compl_first_match;
|
sort_compl_match_list(cp_compare_fuzzy);
|
||||||
if (compl_shows_dir_forward())
|
if ((cur_cot_flags & (COT_NOINSERT | COT_NOSELECT)) == COT_NOINSERT
|
||||||
compl_shown_match = compl_first_match->cp_next;
|
&& compl_first_match)
|
||||||
|
{
|
||||||
|
compl_shown_match = compl_first_match;
|
||||||
|
if (compl_shows_dir_forward())
|
||||||
|
compl_shown_match = compl_first_match->cp_next;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -709,6 +709,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1452,
|
||||||
/**/
|
/**/
|
||||||
1451,
|
1451,
|
||||||
/**/
|
/**/
|
||||||
|
|||||||
Reference in New Issue
Block a user