diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-22 08:31:21 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-08-22 08:55:54 +0800 |
commit | 99bd89595675268498f782f4b81485bf6a88d4e8 (patch) | |
tree | 21d0fdc98c7c4b12d09dfe769d6abfdb9d546eb3 | |
parent | c086bf60794811ef33480e87000630e2d498b1bd (diff) | |
download | rneovim-99bd89595675268498f782f4b81485bf6a88d4e8.tar.gz rneovim-99bd89595675268498f782f4b81485bf6a88d4e8.tar.bz2 rneovim-99bd89595675268498f782f4b81485bf6a88d4e8.zip |
vim-patch:8.2.4328: command line complete matches cleard when typing character
Problem: Command line complete matches cleard when typing character.
(Dominique Pellé)
Solution: Only remove a popup menu if there is one.
https://github.com/vim/vim/commit/73a16c22a4703cb9a7becdf459ce62bd894980d7
-rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 9 | ||||
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 37 |
2 files changed, 44 insertions, 2 deletions
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index 3f53ed04b6..b22607635e 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -2024,6 +2024,15 @@ func Test_wildmenu_pum() call TermWait(buf) call VerifyScreenDump(buf, 'Test_wildmenu_pum_29', {}) + " Check "list" still works + call term_sendkeys(buf, "\<C-U>set wildmode=longest,list\<CR>") + call term_sendkeys(buf, ":cn\<Tab>") + call TermWait(buf) + call VerifyScreenDump(buf, 'Test_wildmenu_pum_30', {}) + call term_sendkeys(buf, "s") + call TermWait(buf) + call VerifyScreenDump(buf, 'Test_wildmenu_pum_31', {}) + call term_sendkeys(buf, "\<C-U>\<CR>") call StopVimInTerminal(buf) call delete('Xtest') diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index f148e2643f..684f4a2909 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -2160,6 +2160,38 @@ describe('builtin popupmenu', function() feed('<esc>') + -- Check "list" still works + command('set wildmode=longest,list') + feed(':cn<Tab>') + screen:expect([[ + | + {1:~ }| + {1:~ }| + {1:~ }| + {4: }| + :cn | + cnewer cnoreabbrev | + cnext cnoremap | + cnfile cnoremenu | + :cn^ | + ]]) + feed('s') + screen:expect([[ + | + {1:~ }| + {1:~ }| + {1:~ }| + {4: }| + :cn | + cnewer cnoreabbrev | + cnext cnoremap | + cnfile cnoremenu | + :cns^ | + ]]) + + feed('<esc>') + command('set wildmode=full') + -- check positioning with multibyte char in pattern command("e långfile1") command("sp långfile2") @@ -2229,11 +2261,12 @@ describe('builtin popupmenu', function() :b långfile^ | ]]) - -- special case: when patterns ends with "/", show menu items aligned - -- after the "/" feed('<esc>') command("close") command('set wildmode=full') + + -- special case: when patterns ends with "/", show menu items aligned + -- after the "/" feed(':e compdir/<tab>') screen:expect([[ | |