1
0
forked from aniani/vim

patch 9.0.1923: curswant wrong on click with 've' and 'wrap' set

Problem:  curswant wrong on click with 've' and 'wrap' set
Solution: Add w_leftcol to mouse click column.

closes: #13142

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
This commit is contained in:
zeertzjq
2023-09-21 16:33:09 +02:00
committed by Christian Brabandt
parent a7aba6ca50
commit db54e989b5
5 changed files with 80 additions and 9 deletions

View File

@@ -599,6 +599,61 @@ func Test_virtualedit_mouse()
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 2, 15], getcurpos())
setlocal nowrap
call setline(2, repeat('a', 19))
normal! j14zl
redraw
call test_setmouse(row, 21 + 1)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 2, 15], getcurpos())
call test_setmouse(row, 21 + 11)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 12, 25], getcurpos())
call test_setmouse(row + 1, 21 + 1)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 15, 0, 15], getcurpos())
call test_setmouse(row + 1, 21 + 11)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 20, 5, 25], getcurpos())
setlocal number numberwidth=2
redraw
call test_setmouse(row, 21 + 3)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 2, 15], getcurpos())
call test_setmouse(row, 21 + 13)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 12, 25], getcurpos())
call test_setmouse(row + 1, 21 + 3)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 15, 0, 15], getcurpos())
call test_setmouse(row + 1, 21 + 13)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 20, 5, 25], getcurpos())
setlocal nonumber
if has('signs')
sign define Sign1 text=
sign place 1 name=Sign1 line=1
sign place 2 name=Sign1 line=2
redraw
call test_setmouse(row, 21 + 3)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 2, 15], getcurpos())
call test_setmouse(row, 21 + 13)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 1, 10, 12, 25], getcurpos())
call test_setmouse(row + 1, 21 + 3)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 15, 0, 15], getcurpos())
call test_setmouse(row + 1, 21 + 13)
call feedkeys("\<LeftMouse>", "xt")
call assert_equal([0, 2, 20, 5, 25], getcurpos())
sign unplace 1
sign unplace 2
sign undefine Sign1
endif
bwipe!
let &mouse = save_mouse
set virtualedit&