vim-patch:8.0.0035 (#5609)

Problem:    Order of matches for 'omnifunc' is messed up. (Danny Su)
Solution:   Do not set compl_curr_match when called from complete_check().
            (closes vim/vim#1168)

472e85970e
This commit is contained in:
Shougo
2016-11-16 01:59:55 +09:00
committed by Justin M. Keyes
parent 10c72cd365
commit c69cfd7d1c
7 changed files with 143 additions and 94 deletions

View File

@@ -1,68 +0,0 @@
-- Tests for completefunc/omnifunc.
local helpers = require('test.functional.helpers')(after_each)
local feed, insert, source = helpers.feed, helpers.insert, helpers.source
local clear, expect, execute = helpers.clear, helpers.expect, helpers.execute
describe('completefunc', function()
setup(clear)
it('is working', function()
insert([=[
+++
one
two
three]=])
-- Test that nothing happens if the 'completefunc' opens
-- a new window (no completion, no crash).
source([=[
function! DummyCompleteOne(findstart, base)
if a:findstart
return 0
else
wincmd n
return ['onedef', 'oneDEF']
endif
endfunction
setlocal completefunc=DummyCompleteOne
/^one
]=])
feed('A<C-X><C-U><C-N><esc>')
execute('q!')
source([=[
function! DummyCompleteTwo(findstart, base)
if a:findstart
wincmd n
return 0
else
return ['twodef', 'twoDEF']
endif
endfunction
setlocal completefunc=DummyCompleteTwo
/^two
]=])
feed('A<C-X><C-U><C-N><esc>')
execute('q!')
-- Test that 'completefunc' works when it's OK.
source([=[
function! DummyCompleteThree(findstart, base)
if a:findstart
return 0
else
return ['threedef', 'threeDEF']
endif
endfunction
setlocal completefunc=DummyCompleteThree
/^three
]=])
feed('A<C-X><C-U><C-N><esc>')
-- Assert buffer contents.
expect([=[
+++
two
threeDEF]=])
end)
end)