diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-08-22 08:42:02 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-08-22 09:08:47 +0800 |
commit | 06a53ab2cb13e1cc7d0deb3c8846881056aefbbf (patch) | |
tree | 2a90cdcd5e45827132af3a7cdbe6173e8a95eafe | |
parent | 99bd89595675268498f782f4b81485bf6a88d4e8 (diff) | |
download | rneovim-06a53ab2cb13e1cc7d0deb3c8846881056aefbbf.tar.gz rneovim-06a53ab2cb13e1cc7d0deb3c8846881056aefbbf.tar.bz2 rneovim-06a53ab2cb13e1cc7d0deb3c8846881056aefbbf.zip |
vim-patch:8.2.4334: command line popup menu not positioned correctly
Problem: Command line popup menu not positioned correctly.
Solution: Also use vim_strsize() on the existing text. (Naruhiko Nishino,
closes vim/vim#9727)
https://github.com/vim/vim/commit/68cc2b8a37197872e737fb61244069e13b7227a2
-rw-r--r-- | src/nvim/testdir/test_cmdline.vim | 11 | ||||
-rw-r--r-- | test/functional/fixtures/wildpum/あいう/123 | 0 | ||||
-rw-r--r-- | test/functional/fixtures/wildpum/あいう/abc | 0 | ||||
-rw-r--r-- | test/functional/fixtures/wildpum/あいう/xyz | 0 | ||||
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 17 |
5 files changed, 28 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_cmdline.vim b/src/nvim/testdir/test_cmdline.vim index b22607635e..35886d42c5 100644 --- a/src/nvim/testdir/test_cmdline.vim +++ b/src/nvim/testdir/test_cmdline.vim @@ -2033,6 +2033,17 @@ func Test_wildmenu_pum() call TermWait(buf) call VerifyScreenDump(buf, 'Test_wildmenu_pum_31', {}) + " Tests a directory name contained full-width characters. + call mkdir('Xdir/あいう', 'p') + call writefile([], 'Xdir/あいう/abc') + call writefile([], 'Xdir/あいう/xyz') + call writefile([], 'Xdir/あいう/123') + + call term_sendkeys(buf, "\<C-U>set wildmode&\<CR>") + call term_sendkeys(buf, ":\<C-U>e Xdir/あいう/\<Tab>") + call TermWait(buf) + call VerifyScreenDump(buf, 'Test_wildmenu_pum_32', {}) + call term_sendkeys(buf, "\<C-U>\<CR>") call StopVimInTerminal(buf) call delete('Xtest') diff --git a/test/functional/fixtures/wildpum/あいう/123 b/test/functional/fixtures/wildpum/あいう/123 new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/functional/fixtures/wildpum/あいう/123 diff --git a/test/functional/fixtures/wildpum/あいう/abc b/test/functional/fixtures/wildpum/あいう/abc new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/functional/fixtures/wildpum/あいう/abc diff --git a/test/functional/fixtures/wildpum/あいう/xyz b/test/functional/fixtures/wildpum/あいう/xyz new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/test/functional/fixtures/wildpum/あいう/xyz diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index 684f4a2909..e11cd1e859 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -2192,6 +2192,23 @@ describe('builtin popupmenu', function() feed('<esc>') command('set wildmode=full') + -- Tests a directory name contained full-width characters. + feed(':e あいう/<Tab>') + screen:expect([[ + | + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }| + {1:~ }{s: 123 }{1: }| + {1:~ }{n: abc }{1: }| + {1:~ }{n: xyz }{1: }| + :e あいう/123^ | + ]]) + + feed('<esc>') + -- check positioning with multibyte char in pattern command("e långfile1") command("sp långfile2") |