mirror of
https://github.com/vim/vim.git
synced 2025-09-28 04:24:06 -04:00
patch 9.0.2032: cannot get mouse click pos for tab or virt text
Problem: Cannot accurately get mouse clicking position when clicking on a TAB or with virtual text. Solution: Add a "coladd" field to getmousepos() result. closes: #13335 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
3c81f47a05
commit
f5a94d5165
@@ -3365,6 +3365,7 @@ func Test_getmousepos()
|
||||
\ wincol: 1,
|
||||
\ line: 1,
|
||||
\ column: 1,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 2)
|
||||
call assert_equal(#{
|
||||
@@ -3375,6 +3376,7 @@ func Test_getmousepos()
|
||||
\ wincol: 2,
|
||||
\ line: 1,
|
||||
\ column: 1,
|
||||
\ coladd: 1,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 8)
|
||||
call assert_equal(#{
|
||||
@@ -3385,6 +3387,7 @@ func Test_getmousepos()
|
||||
\ wincol: 8,
|
||||
\ line: 1,
|
||||
\ column: 1,
|
||||
\ coladd: 7,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 9)
|
||||
call assert_equal(#{
|
||||
@@ -3395,6 +3398,7 @@ func Test_getmousepos()
|
||||
\ wincol: 9,
|
||||
\ line: 1,
|
||||
\ column: 2,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 12)
|
||||
call assert_equal(#{
|
||||
@@ -3405,6 +3409,7 @@ func Test_getmousepos()
|
||||
\ wincol: 12,
|
||||
\ line: 1,
|
||||
\ column: 2,
|
||||
\ coladd: 3,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 25)
|
||||
call assert_equal(#{
|
||||
@@ -3415,6 +3420,29 @@ func Test_getmousepos()
|
||||
\ wincol: 25,
|
||||
\ line: 1,
|
||||
\ column: 4,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 28)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 1,
|
||||
\ screencol: 28,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 1,
|
||||
\ wincol: 28,
|
||||
\ line: 1,
|
||||
\ column: 7,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 29)
|
||||
call assert_equal(#{
|
||||
\ screenrow: 1,
|
||||
\ screencol: 29,
|
||||
\ winid: win_getid(),
|
||||
\ winrow: 1,
|
||||
\ wincol: 29,
|
||||
\ line: 1,
|
||||
\ column: 8,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(1, 50)
|
||||
call assert_equal(#{
|
||||
@@ -3425,6 +3453,7 @@ func Test_getmousepos()
|
||||
\ wincol: 50,
|
||||
\ line: 1,
|
||||
\ column: 8,
|
||||
\ coladd: 21,
|
||||
\ }, getmousepos())
|
||||
|
||||
" If the mouse is positioned past the last buffer line, "line" and "column"
|
||||
@@ -3438,6 +3467,7 @@ func Test_getmousepos()
|
||||
\ wincol: 25,
|
||||
\ line: 1,
|
||||
\ column: 4,
|
||||
\ coladd: 0,
|
||||
\ }, getmousepos())
|
||||
call test_setmouse(2, 50)
|
||||
call assert_equal(#{
|
||||
@@ -3448,6 +3478,7 @@ func Test_getmousepos()
|
||||
\ wincol: 50,
|
||||
\ line: 1,
|
||||
\ column: 8,
|
||||
\ coladd: 21,
|
||||
\ }, getmousepos())
|
||||
bwipe!
|
||||
endfunc
|
||||
|
Reference in New Issue
Block a user