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:
committed by
Christian Brabandt
parent
a7aba6ca50
commit
db54e989b5
@@ -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&
|
||||
|
||||
Reference in New Issue
Block a user