mirror of
https://github.com/vim/vim.git
synced 2025-07-26 11:04:33 -04:00
patch 9.0.2039: completion shows current word after completion restart
Problem: completion shows current word after completion restart Solution: remove the word being completed after completion restart The word being completed is shown in a completion list after completion restart, because it isn't removed from the current buffer before searching for matches. Also adjust `Test_complete_add_onechar` to match the new behavior. closes: #13349 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: nwounkn <nwounkn@gmail.com>
This commit is contained in:
parent
f3eac695bf
commit
2e3cd52fa0
@ -4157,7 +4157,7 @@ ins_compl_next(
|
|||||||
ins_compl_update_shown_match();
|
ins_compl_update_shown_match();
|
||||||
|
|
||||||
if (allow_get_expansion && insert_match
|
if (allow_get_expansion && insert_match
|
||||||
&& (!(compl_get_longest || compl_restarting) || compl_used_match))
|
&& (!compl_get_longest || compl_used_match))
|
||||||
// Delete old text to be replaced
|
// Delete old text to be replaced
|
||||||
ins_compl_delete();
|
ins_compl_delete();
|
||||||
|
|
||||||
|
@ -818,7 +818,7 @@ func Test_complete_add_onechar()
|
|||||||
setlocal complete=.
|
setlocal complete=.
|
||||||
call setline(1, ['workhorse', 'workload'])
|
call setline(1, ['workhorse', 'workload'])
|
||||||
normal Go
|
normal Go
|
||||||
exe "normal aWOR\<C-P>\<bs>\<bs>\<bs>\<bs>\<bs>\<bs>\<C-L>r\<C-L>\<C-L>"
|
exe "normal aWOR\<C-P>\<bs>\<bs>\<bs>\<bs>\<bs>\<bs>\<C-L>\<C-L>\<C-L>"
|
||||||
call assert_equal('workh', getline(3))
|
call assert_equal('workh', getline(3))
|
||||||
set ignorecase& backspace&
|
set ignorecase& backspace&
|
||||||
close!
|
close!
|
||||||
@ -2248,6 +2248,17 @@ func GetCompleteInfo()
|
|||||||
return ''
|
return ''
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func Test_completion_restart()
|
||||||
|
new
|
||||||
|
set complete=. completeopt=menuone backspace=2
|
||||||
|
call setline(1, 'workhorse workhorse')
|
||||||
|
exe "normal $a\<C-N>\<BS>\<BS>\<C-R>=GetCompleteInfo()\<CR>"
|
||||||
|
call assert_equal(1, len(g:compl_info['items']))
|
||||||
|
call assert_equal('workhorse', g:compl_info['items'][0]['word'])
|
||||||
|
set complete& completeopt& backspace&
|
||||||
|
bwipe!
|
||||||
|
endfunc
|
||||||
|
|
||||||
func Test_complete_info_index()
|
func Test_complete_info_index()
|
||||||
new
|
new
|
||||||
call setline(1, ["aaa", "bbb", "ccc", "ddd", "eee", "fff"])
|
call setline(1, ["aaa", "bbb", "ccc", "ddd", "eee", "fff"])
|
||||||
|
@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
2039,
|
||||||
/**/
|
/**/
|
||||||
2038,
|
2038,
|
||||||
/**/
|
/**/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user