0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

patch 9.1.1069: preinsert text completions not deleted with <C-W>/<C-U>

Problem:  preinsert text completions not deleted with <C-W>/<C-U>
          (ddad431, after v9.1.1059)
Solution: handle <C-W> or <C-U> specifically and clear the completion
          (glepnir)

fixes: #16557
closes: #16565

Signed-off-by: glepnir <glephunter@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
glepnir
2025-02-02 09:36:22 +01:00
committed by Christian Brabandt
parent e0a2ab397f
commit 001c26cd61
3 changed files with 13 additions and 0 deletions

View File

@@ -2498,6 +2498,9 @@ ins_compl_stop(int c, int prev_mode, int retval)
retval = TRUE;
}
if ((c == Ctrl_W || c == Ctrl_U) && ins_compl_preinsert_effect())
ins_compl_delete();
auto_format(FALSE, TRUE);
// Trigger the CompleteDonePre event to give scripts a chance to

View File

@@ -3103,6 +3103,14 @@ function Test_completeopt_preinsert()
call assert_equal("fo ", getline('.'))
call assert_equal(3, col('.'))
call feedkeys("She\<C-X>\<C-N>\<C-U>", 'tx')
call assert_equal("", getline('.'))
call assert_equal(1, col('.'))
call feedkeys("She\<C-X>\<C-N>\<C-W>", 'tx')
call assert_equal("", getline('.'))
call assert_equal(1, col('.'))
" whole line
call feedkeys("Shello hero\<CR>\<C-X>\<C-L>", 'tx')
call assert_equal("hello hero", getline('.'))

View File

@@ -704,6 +704,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1069,
/**/
1068,
/**/