1
0
forked from aniani/vim

patch 9.1.0497: termdebug can be further improved

Problem:  termdebug can be further improved
Solution: refactor save/restore, update docs,
          add a new save/restore test (Ubaldo Tiberi)

closes: #15032

Signed-off-by: Ubaldo Tiberi <ubaldo.tiberi@google.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Ubaldo Tiberi
2024-06-18 20:18:20 +02:00
committed by Christian Brabandt
parent 9718ed7ab9
commit a48637c105
4 changed files with 102 additions and 87 deletions

View File

@@ -297,6 +297,9 @@ func Test_termdebug_mapping()
call assert_true(maparg('+', 'n', 0, 1).buffer)
call assert_equal(':echom "bK"<cr>', maparg('K', 'n', 0, 1).rhs)
nunmap K
nunmap +
nunmap -
%bw!
endfunc
@@ -339,14 +342,41 @@ func Test_termdebug_bufnames()
endfunc
function Test_termdebug_save_restore_variables()
" saved mousemodel
let &mousemodel=''
" saved keys
nnoremap K :echo "hello world!"<cr>
let expected_map_K = maparg('K', 'n', 0 , 1)
nnoremap + :echo "hello plus!"<cr>
let expected_map_plus = maparg('+', 'n', 0 , 1)
let expected_map_minus = {}
" saved &columns
let expected_columns = &columns
" We want termdebug to overwrite 'K' map but not '+' map.
let g:termdebug_config = {}
let g:termdebug_config['map_K'] = 1
Termdebug
call WaitForAssert({-> assert_equal(3, winnr('$'))})
call WaitForAssert({-> assert_match(&mousemodel, 'popup_setpos')})
wincmd t
quit!
call WaitForAssert({-> assert_equal(1, winnr('$'))})
call WaitForAssert({-> assert_true(empty(&mousemodel))})
call assert_true(empty(&mousemodel))
call assert_true(empty(expected_map_minus))
call assert_equal(expected_map_K.rhs, maparg('K', 'n', 0, 1).rhs)
call assert_equal(expected_map_plus.rhs, maparg('+', 'n', 0, 1).rhs)
call assert_equal(expected_columns, &columns)
nunmap K
nunmap +
unlet g:termdebug_config
endfunction