mirror of
https://github.com/neovim/neovim.git
synced 2024-12-31 17:13:26 -07:00
Merge pull request #9926 from glacambre/fix_9889
Fix #9889: stopinsert prohibiting terminal mode
This commit is contained in:
commit
3f71218505
@ -374,6 +374,7 @@ void terminal_enter(void)
|
||||
TerminalState state, *s = &state;
|
||||
memset(s, 0, sizeof(TerminalState));
|
||||
s->term = buf->terminal;
|
||||
stop_insert_mode = false;
|
||||
|
||||
// Ensure the terminal is properly sized. Ideally window size management
|
||||
// code should always have resized the terminal already, but check here to
|
||||
@ -435,7 +436,6 @@ void terminal_enter(void)
|
||||
static int terminal_check(VimState *state)
|
||||
{
|
||||
if (stop_insert_mode) {
|
||||
stop_insert_mode = false;
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
|
@ -106,6 +106,15 @@ describe(':terminal', function()
|
||||
command('stopinsert')
|
||||
eq({ blocking=false, mode='n' }, nvim('get_mode'))
|
||||
end)
|
||||
|
||||
it(':stopinsert in normal mode doesn\'t break insert mode #9889', function()
|
||||
command(':terminal')
|
||||
eq({ blocking=false, mode='n' }, nvim('get_mode'))
|
||||
command(':stopinsert')
|
||||
eq({ blocking=false, mode='n' }, nvim('get_mode'))
|
||||
feed('a')
|
||||
eq({ blocking=false, mode='t' }, nvim('get_mode'))
|
||||
end)
|
||||
end)
|
||||
|
||||
describe(':terminal (with fake shell)', function()
|
||||
|
Loading…
Reference in New Issue
Block a user