diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-10-18 06:40:08 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-10-18 06:40:08 +0800 |
commit | 4db4168aafc8ac59f5cb4def5cd7eecfb3f2ada4 (patch) | |
tree | 1e0fa395d276bc821174a856330574dadfebb17d | |
parent | bc5dfda441dd1b3de56bd64059b0a1df4075f050 (diff) | |
download | rneovim-4db4168aafc8ac59f5cb4def5cd7eecfb3f2ada4.tar.gz rneovim-4db4168aafc8ac59f5cb4def5cd7eecfb3f2ada4.tar.bz2 rneovim-4db4168aafc8ac59f5cb4def5cd7eecfb3f2ada4.zip |
vim-patch:8.2.4497: wrong color for half of wide character next to pum scrollbar (#25693)
Problem: Wrong color for half of wide character next to pum scrollbar.
Solution: Redraw the screen cell with the right color. (closes vim/vim#9874)
https://github.com/vim/vim/commit/35d8c2010ea6ee5c9bcfa6a8285648172b92ed83
Co-authored-by: Bram Moolenaar <Bram@vim.org>
-rw-r--r-- | test/functional/ui/popupmenu_spec.lua | 24 | ||||
-rw-r--r-- | test/old/testdir/test_ins_complete.vim | 20 |
2 files changed, 42 insertions, 2 deletions
diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua index 6d5546e0aa..a6cd216d84 100644 --- a/test/functional/ui/popupmenu_spec.lua +++ b/test/functional/ui/popupmenu_spec.lua @@ -1788,6 +1788,30 @@ describe('builtin popupmenu', function() {2:-- }{5:match 1 of 3} | ]]) end) + + -- oldtest: Test_scrollbar_on_wide_char() + it('scrollbar overwrites half of double-width char below properly', function() + screen:try_resize(32, 10) + exec([[ + call setline(1, ['a', ' 啊啊啊', + \ ' 哦哦哦', + \ ' 呃呃呃']) + call setline(5, range(10)->map({i, v -> 'aa' .. v .. 'bb'})) + ]]) + feed('A<C-X><C-N>') + screen:expect([[ + aa0bb^ | + {s:aa0bb }{c: }啊 | + {n:aa1bb }{c: } 哦 | + {n:aa2bb }{c: }呃呃 | + {n:aa3bb }{c: } | + {n:aa4bb }{c: } | + {n:aa5bb }{c: } | + {n:aa6bb }{s: } | + {n:aa7bb }{s: } | + {2:-- }{5:match 1 of 10} | + ]]) + end) end it('with vsplits', function() diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim index ec5fd186b1..8162c23634 100644 --- a/test/old/testdir/test_ins_complete.vim +++ b/test/old/testdir/test_ins_complete.vim @@ -530,10 +530,8 @@ func Test_ins_completeslash() CheckMSWindows call mkdir('Xdir') - let orig_shellslash = &shellslash set cpt& - new set noshellslash @@ -655,6 +653,24 @@ func Test_pum_with_preview_win() call delete('Xpreviewscript') endfunc +func Test_scrollbar_on_wide_char() + CheckScreendump + + let lines =<< trim END + call setline(1, ['a', ' 啊啊啊', + \ ' 哦哦哦', + \ ' 呃呃呃']) + call setline(5, range(10)->map({i, v -> 'aa' .. v .. 'bb'})) + END + call writefile(lines, 'Xwidescript') + let buf = RunVimInTerminal('-S Xwidescript', #{rows: 10}) + call term_sendkeys(buf, "A\<C-N>") + call VerifyScreenDump(buf, 'Test_scrollbar_on_wide_char', {}) + + call StopVimInTerminal(buf) + call delete('Xwidescript') +endfunc + " Test for inserting the tag search pattern in insert mode func Test_ins_compl_tag_sft() call writefile([ |