mirror of
https://github.com/vim/vim.git
synced 2025-10-02 05:04:20 -04:00
patch 8.1.1250: no test for netterm mouse
Problem: No test for netterm mouse. Solution: Add some tests for netterm mouse.
This commit is contained in:
@@ -20,6 +20,13 @@ else
|
|||||||
let s:ttymouse_dec = []
|
let s:ttymouse_dec = []
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" netterm only supports left click
|
||||||
|
if has('mouse_netterm')
|
||||||
|
let s:ttymouse_netterm = ['netterm']
|
||||||
|
else
|
||||||
|
let s:ttymouse_netterm = []
|
||||||
|
endif
|
||||||
|
|
||||||
" Helper function to emit a terminal escape code.
|
" Helper function to emit a terminal escape code.
|
||||||
func TerminalEscapeCode(code, row, col, m)
|
func TerminalEscapeCode(code, row, col, m)
|
||||||
if &ttymouse ==# 'xterm2'
|
if &ttymouse ==# 'xterm2'
|
||||||
@@ -43,9 +50,15 @@ func DecEscapeCode(code, down, row, col)
|
|||||||
call feedkeys(printf("\<Esc>[%d;%d;%d;%d&w", a:code, a:down, a:row, a:col), 'Lx!')
|
call feedkeys(printf("\<Esc>[%d;%d;%d;%d&w", a:code, a:down, a:row, a:col), 'Lx!')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
func NettermEscapeCode(row, col)
|
||||||
|
call feedkeys(printf("\<Esc>}%d,%d\r", a:row, a:col), 'Lx!')
|
||||||
|
endfunc
|
||||||
|
|
||||||
func MouseLeftClick(row, col)
|
func MouseLeftClick(row, col)
|
||||||
if &ttymouse ==# 'dec'
|
if &ttymouse ==# 'dec'
|
||||||
call DecEscapeCode(2, 4, a:row, a:col)
|
call DecEscapeCode(2, 4, a:row, a:col)
|
||||||
|
elseif &ttymouse ==# 'netterm'
|
||||||
|
call NettermEscapeCode(a:row, a:col)
|
||||||
else
|
else
|
||||||
call TerminalEscapeCode(0, a:row, a:col, 'M')
|
call TerminalEscapeCode(0, a:row, a:col, 'M')
|
||||||
endif
|
endif
|
||||||
@@ -72,6 +85,8 @@ endfunc
|
|||||||
func MouseLeftRelease(row, col)
|
func MouseLeftRelease(row, col)
|
||||||
if &ttymouse ==# 'dec'
|
if &ttymouse ==# 'dec'
|
||||||
call DecEscapeCode(3, 0, a:row, a:col)
|
call DecEscapeCode(3, 0, a:row, a:col)
|
||||||
|
elseif &ttymouse ==# 'netterm'
|
||||||
|
" send nothing
|
||||||
else
|
else
|
||||||
call TerminalEscapeCode(3, a:row, a:col, 'm')
|
call TerminalEscapeCode(3, a:row, a:col, 'm')
|
||||||
endif
|
endif
|
||||||
@@ -114,7 +129,7 @@ func Test_term_mouse_left_click()
|
|||||||
set mouse=a term=xterm
|
set mouse=a term=xterm
|
||||||
call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer'])
|
call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer'])
|
||||||
|
|
||||||
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
|
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec + s:ttymouse_netterm
|
||||||
let msg = 'ttymouse=' .. ttymouse_val
|
let msg = 'ttymouse=' .. ttymouse_val
|
||||||
exe 'set ttymouse=' .. ttymouse_val
|
exe 'set ttymouse=' .. ttymouse_val
|
||||||
go
|
go
|
||||||
@@ -363,7 +378,7 @@ func Test_term_mouse_click_tab()
|
|||||||
set mouse=a term=xterm
|
set mouse=a term=xterm
|
||||||
let row = 1
|
let row = 1
|
||||||
|
|
||||||
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
|
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec + s:ttymouse_netterm
|
||||||
let msg = 'ttymouse=' .. ttymouse_val
|
let msg = 'ttymouse=' .. ttymouse_val
|
||||||
exe 'set ttymouse=' .. ttymouse_val
|
exe 'set ttymouse=' .. ttymouse_val
|
||||||
e Xfoo
|
e Xfoo
|
||||||
@@ -413,7 +428,7 @@ func Test_term_mouse_click_X_to_close_tab()
|
|||||||
let row = 1
|
let row = 1
|
||||||
let col = &columns
|
let col = &columns
|
||||||
|
|
||||||
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
|
for ttymouse_val in s:ttymouse_values + s:ttymouse_dec + s:ttymouse_netterm
|
||||||
if ttymouse_val ==# 'xterm2' && col > 223
|
if ttymouse_val ==# 'xterm2' && col > 223
|
||||||
" When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported.
|
" When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported.
|
||||||
continue
|
continue
|
||||||
|
@@ -767,6 +767,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1250,
|
||||||
/**/
|
/**/
|
||||||
1249,
|
1249,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user