aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-10-18 06:40:08 +0800
committerGitHub <noreply@github.com>2023-10-18 06:40:08 +0800
commit4db4168aafc8ac59f5cb4def5cd7eecfb3f2ada4 (patch)
tree1e0fa395d276bc821174a856330574dadfebb17d
parentbc5dfda441dd1b3de56bd64059b0a1df4075f050 (diff)
downloadrneovim-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.lua24
-rw-r--r--test/old/testdir/test_ins_complete.vim20
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([