patch 8.2.1108: mouse left-right scroll is not supported in terminal window
Problem: Mouse left-right scroll is not supported in terminal window.
Solution: Implement mouse codes 6 and 7. (Trygve Aaberge, closes #6363)
diff --git a/src/testdir/test_termcodes.vim b/src/testdir/test_termcodes.vim
index 27c2a18..a267696 100644
--- a/src/testdir/test_termcodes.vim
+++ b/src/testdir/test_termcodes.vim
@@ -194,9 +194,10 @@
new
let save_mouse = &mouse
let save_term = &term
+ let save_wrap = &wrap
let save_ttymouse = &ttymouse
- set mouse=a term=xterm
- call setline(1, range(1, 100))
+ set mouse=a term=xterm nowrap
+ call setline(1, range(100000000000000, 100000000000100))
for ttymouse_val in g:Ttymouse_values
let msg = 'ttymouse=' .. ttymouse_val
@@ -220,10 +221,31 @@
call MouseWheelUp(1, 1)
call assert_equal(1, line('w0'), msg)
call assert_equal([0, 7, 1, 0], getpos('.'), msg)
+
+ if has('gui')
+ " Horizontal wheel scrolling currently only works when vim is
+ " compiled with gui enabled.
+ call MouseWheelRight(1, 1)
+ call assert_equal(7, 1 + virtcol(".") - wincol(), msg)
+ call assert_equal([0, 7, 7, 0], getpos('.'), msg)
+
+ call MouseWheelRight(1, 1)
+ call assert_equal(13, 1 + virtcol(".") - wincol(), msg)
+ call assert_equal([0, 7, 13, 0], getpos('.'), msg)
+
+ call MouseWheelLeft(1, 1)
+ call assert_equal(7, 1 + virtcol(".") - wincol(), msg)
+ call assert_equal([0, 7, 13, 0], getpos('.'), msg)
+
+ call MouseWheelLeft(1, 1)
+ call assert_equal(1, 1 + virtcol(".") - wincol(), msg)
+ call assert_equal([0, 7, 13, 0], getpos('.'), msg)
+ endif
endfor
let &mouse = save_mouse
let &term = save_term
+ let &wrap = save_wrap
let &ttymouse = save_ttymouse
bwipe!
endfunc