From 6bc1844b112197ab2701edd80d44f7ac77f2e466 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 2 Dec 2020 23:29:04 -0500 Subject: vim-patch:8.2.1673: complete_info() selected index has an invalid value Problem: complete_info() selected index has an invalid value. (Ben Jackson) Solution: Set the index when there is only one match. (closes vim/vim#6945) Add test for complete_info(). https://github.com/vim/vim/commit/b806aa5bd910dba94fbde586f6019b4825813d28 --- src/nvim/testdir/test_ins_complete.vim | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/nvim/testdir/test_ins_complete.vim') diff --git a/src/nvim/testdir/test_ins_complete.vim b/src/nvim/testdir/test_ins_complete.vim index 57a0a7aaf4..1776968afa 100644 --- a/src/nvim/testdir/test_ins_complete.vim +++ b/src/nvim/testdir/test_ins_complete.vim @@ -312,6 +312,24 @@ func Test_completefunc_args() delfunc CompleteFunc endfunc +func CompleteTest(findstart, query) + if a:findstart + return col('.') + endif + return ['matched'] +endfunc + +func Test_completefunc_info() + new + set completeopt=menuone + set completefunc=CompleteTest + call feedkeys("i\\\\=string(complete_info())\\", "tx") + call assert_equal("matched{'pum_visible': 1, 'mode': 'function', 'selected': -1, 'items': [{'word': 'matched', 'menu': '', 'user_data': '', 'info': '', 'kind': '', 'abbr': ''}]}", getline(1)) + bwipe! + set completeopt& + set completefunc& +endfunc + " Check that when using feedkeys() typeahead does not interrupt searching for " completions. func Test_compl_feedkeys() -- cgit From f85386d170892bceecb6923f68f8861a84a77b9d Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Wed, 2 Dec 2020 23:43:43 -0500 Subject: vim-patch:8.2.1907: complete_info().selected may be wrong Problem: Complete_info().selected may be wrong. Solution: Update cp_number if it was never set. (issue vim/vim#6945) https://github.com/vim/vim/commit/f9d51354de069dddc049b9e109b1932c92e5aee6 Misc changes: For variables and function parameters that use "Direction" enum values, update their type from from "int" to "Direction". It is hard to review function parameters that must accept "Direction" enum values only. --- src/nvim/testdir/test_ins_complete.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/nvim/testdir/test_ins_complete.vim') diff --git a/src/nvim/testdir/test_ins_complete.vim b/src/nvim/testdir/test_ins_complete.vim index 1776968afa..6fe1d29434 100644 --- a/src/nvim/testdir/test_ins_complete.vim +++ b/src/nvim/testdir/test_ins_complete.vim @@ -324,7 +324,7 @@ func Test_completefunc_info() set completeopt=menuone set completefunc=CompleteTest call feedkeys("i\\\\=string(complete_info())\\", "tx") - call assert_equal("matched{'pum_visible': 1, 'mode': 'function', 'selected': -1, 'items': [{'word': 'matched', 'menu': '', 'user_data': '', 'info': '', 'kind': '', 'abbr': ''}]}", getline(1)) + call assert_equal("matched{'pum_visible': 1, 'mode': 'function', 'selected': 0, 'items': [{'word': 'matched', 'menu': '', 'user_data': '', 'info': '', 'kind': '', 'abbr': ''}]}", getline(1)) bwipe! set completeopt& set completefunc& -- cgit