mirror of
https://github.com/neovim/neovim.git
synced 2025-09-14 23:38:17 +00:00
Merge pull request #15364 from seandewar/vim-8.2.3337
vim-patch:8.2.{3286,3289,3293,3298,3313,3321,3328,3330,3331,3337,3354,3355,3357,3360,3369,3375}
This commit is contained in:
@@ -4127,6 +4127,7 @@ static int ins_compl_get_exp(pos_T *ini)
|
||||
char_u *dict = NULL;
|
||||
int dict_f = 0;
|
||||
bool set_match_pos;
|
||||
pos_T prev_pos = { 0, 0, 0 };
|
||||
int l_ctrl_x_mode = ctrl_x_mode;
|
||||
|
||||
assert(curbuf != NULL);
|
||||
@@ -4365,6 +4366,7 @@ static int ins_compl_get_exp(pos_T *ini)
|
||||
} else if (*e_cpt == '.') {
|
||||
p_ws = true;
|
||||
}
|
||||
bool looped_around = false;
|
||||
for (;; ) {
|
||||
bool cont_s_ipos = false;
|
||||
|
||||
@@ -4393,7 +4395,26 @@ static int ins_compl_get_exp(pos_T *ini)
|
||||
} else if (first_match_pos.lnum == last_match_pos.lnum
|
||||
&& first_match_pos.col == last_match_pos.col) {
|
||||
found_new_match = FAIL;
|
||||
} else if ((compl_direction == FORWARD)
|
||||
&& (prev_pos.lnum > pos->lnum
|
||||
|| (prev_pos.lnum == pos->lnum
|
||||
&& prev_pos.col >= pos->col))) {
|
||||
if (looped_around) {
|
||||
found_new_match = FAIL;
|
||||
} else {
|
||||
looped_around = true;
|
||||
}
|
||||
} else if ((compl_direction != FORWARD)
|
||||
&& (prev_pos.lnum < pos->lnum
|
||||
|| (prev_pos.lnum == pos->lnum
|
||||
&& prev_pos.col <= pos->col))) {
|
||||
if (looped_around) {
|
||||
found_new_match = FAIL;
|
||||
} else {
|
||||
looped_around = true;
|
||||
}
|
||||
}
|
||||
prev_pos = *pos;
|
||||
if (found_new_match == FAIL) {
|
||||
if (ins_buf == curbuf) {
|
||||
found_all = true;
|
||||
|
Reference in New Issue
Block a user