diff options
-rw-r--r-- | src/nvim/edit.c | 2 | ||||
-rw-r--r-- | src/nvim/testdir/test_alot.vim | 1 | ||||
-rw-r--r-- | src/nvim/testdir/test_popup.vim | 30 | ||||
-rw-r--r-- | src/nvim/version.c | 4 |
4 files changed, 35 insertions, 2 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c index 03ef41f849..98ec9ae280 100644 --- a/src/nvim/edit.c +++ b/src/nvim/edit.c @@ -2385,6 +2385,7 @@ void set_completion(colnr_T startcol, list_T *list) } else { ins_complete(Ctrl_N, false); } + compl_enter_selects = compl_no_insert; // Lazily show the popup menu, unless we got interrupted. if (!compl_interrupted) { @@ -3989,6 +3990,7 @@ static void ins_compl_insert(void) dict_add_nr_str(dict, "info", 0L, EMPTY_IF_NULL(compl_shown_match->cp_text[CPT_INFO])); set_vim_var_dict(VV_COMPLETED_ITEM, dict); + compl_curr_match = compl_shown_match; } /* diff --git a/src/nvim/testdir/test_alot.vim b/src/nvim/testdir/test_alot.vim index ad9b2cce8b..14ea73818a 100644 --- a/src/nvim/testdir/test_alot.vim +++ b/src/nvim/testdir/test_alot.vim @@ -4,4 +4,5 @@ source test_assign.vim source test_cursor_func.vim source test_menu.vim +source test_popup.vim source test_unlet.vim diff --git a/src/nvim/testdir/test_popup.vim b/src/nvim/testdir/test_popup.vim new file mode 100644 index 0000000000..78fc81e3d2 --- /dev/null +++ b/src/nvim/testdir/test_popup.vim @@ -0,0 +1,30 @@ +" Test for completion menu + +function! ComplTest() abort + call complete(1, ['source', 'soundfold']) + return '' +endfunction + +function! Test() abort + call complete(1, ['source', 'soundfold']) + return '' +endfunction + +func Test_noinsert_complete() + new + set completeopt+=noinsert + inoremap <F5> <C-R>=ComplTest()<CR> + call feedkeys("i\<F5>soun\<CR>\<CR>\<ESC>.", 'tx') + call assert_equal('soundfold', getline(1)) + call assert_equal('soundfold', getline(2)) + bwipe! + + new + inoremap <F5> <C-R>=Test()<CR> + call feedkeys("i\<F5>\<CR>\<ESC>", 'tx') + call assert_equal('source', getline(1)) + bwipe! + + set completeopt-=noinsert + iunmap <F5> +endfunc diff --git a/src/nvim/version.c b/src/nvim/version.c index d0af76ac8b..705bc808d7 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -261,8 +261,8 @@ static int included_patches[] = { // 2017, // 2016 NA // 2015, - // 2014, - // 2013, + 2014, + 2013, // 2012, // 2011, // 2010, |