Mercurial > vim
changeset 9467:5fb484647e12 v7.4.2014
commit https://github.com/vim/vim/commit/32b808a4bdf35b0dea63c735702a591e5869fecd
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Jul 9 21:57:20 2016 +0200
patch 7.4.2014
Problem: Using "noinsert" in 'completeopt' does not insert match.
Solution: Set compl_enter_selects. (Shougo, closes https://github.com/vim/vim/issues/875)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 09 Jul 2016 22:00:07 +0200 |
parents | d5ccc59b203f |
children | 7070daf57525 |
files | src/edit.c src/testdir/test_popup.vim src/version.c |
diffstat | 3 files changed, 15 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/edit.c +++ b/src/edit.c @@ -2831,6 +2831,7 @@ set_completion(colnr_T startcol, list_T } else ins_complete(Ctrl_N, FALSE); + compl_enter_selects = compl_no_insert; /* Lazily show the popup menu, unless we got interrupted. */ if (!compl_interrupted)
--- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -49,8 +49,20 @@ func Test_noinsert_complete() 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 + + +function! Test() abort + call complete(1, ['source', 'soundfold']) + return '' +endfunction