commit 06a53ab2cb13e1cc7d0deb3c8846881056aefbbf
parent 99bd89595675268498f782f4b81485bf6a88d4e8
Author: zeertzjq <zeertzjq@outlook.com>
Date: Mon, 22 Aug 2022 08:42:02 +0800
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
Diffstat:
5 files changed, 28 insertions(+), 0 deletions(-)
diff --git 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
diff --git a/test/functional/fixtures/wildpum/あいう/abc b/test/functional/fixtures/wildpum/あいう/abc
diff --git a/test/functional/fixtures/wildpum/あいう/xyz b/test/functional/fixtures/wildpum/あいう/xyz
diff --git 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")