" Test insert mode completion does not get stuck when looping around. " In a separate file to avoid the settings to leak to other test cases. set complete+=kspell set completeopt+=menu set completeopt+=menuone set completeopt+=noselect set completeopt+=noinsert let g:autocompletion = v:true func Test_ins_complete_no_halt() function! OpenCompletion() if pumvisible() && (g:autocompletion == v:true) call feedkeys("\\", "i") return endif if ((v:char >= 'a' && v:char <= 'z') || (v:char >= 'A' && v:char <= 'Z')) && (g:autocompletion == v:true) call feedkeys("\", "i") redraw endif endfunction autocmd InsertCharPre * noautocmd call OpenCompletion() setlocal spell! spelllang=en_us call feedkeys("iauto-complete-halt-test test test test test test test test test test test test test test test test test test test\", "tx!") call assert_equal(["auto-complete-halt-test test test test test test test test test test test test test test test test test test test"], getline(1, "$")) endfunc func Test_auto_complete_backwards_no_halt() function! OpenCompletion() if pumvisible() && (g:autocompletion == v:true) call feedkeys("\\", "i") return endif if ((v:char >= 'a' && v:char <= 'z') || (v:char >= 'A' && v:char <= 'Z')) && (g:autocompletion == v:true) call feedkeys("\", "i") redraw endif endfunction autocmd InsertCharPre * noautocmd call OpenCompletion() setlocal spell! spelllang=en_us call feedkeys("iauto-complete-halt-test test test test test test test test test test test test test test test test test test test\", "tx!") call assert_equal(["auto-complete-halt-test test test test test test test test test test test test test test test test test test test"], getline(1, "$")) endfunc " vim: shiftwidth=2 sts=2 expandtab