term: after <C-\>, resume normal input loop

Pressing <C-\> and then a mouse click will insert the click into the
terminal as if a keyboard button had been pressed.

Keep track of whether the last input was <C-\> and only call
terminal_send_key() if the next input is a key press.
This commit is contained in:
Scott Prager
2015-04-05 13:20:08 -04:00
parent b6296f4e84
commit b8ae09b3cf
3 changed files with 31 additions and 10 deletions

View File

@@ -170,15 +170,18 @@ describe('terminal buffer', function()
source([[
function! SplitWindow()
new
call feedkeys("iabc\<Esc>")
endfunction
startinsert
call jobstart(['sh', '-c', 'exit'], {'on_exit': function("SplitWindow")})
call feedkeys("\<C-\>", 't') " vim will expect <C-n>, but be exited out of
" the terminal before it can be entered.
]])
-- We should be in a new buffer now.
screen:expect([[
^ |
ab^c |
~ |
========== |
rows: 2, cols: 50 |
@@ -188,7 +191,7 @@ describe('terminal buffer', function()
]])
neq(tbuf, eval('bufnr("%")'))
execute('quit') -- Should exit the new window, not the terminal.
execute('quit!') -- Should exit the new window, not the terminal.
eq(tbuf, eval('bufnr("%")'))
execute('set laststatus=1') -- Restore laststatus to the default.