diff options
author | Junegunn Choi <junegunn.c@gmail.com> | 2018-09-27 11:10:49 +0900 |
---|---|---|
committer | Junegunn Choi <junegunn.c@gmail.com> | 2018-09-27 15:54:13 +0900 |
commit | 27c40dc6b0cc0402b1602b76202be80841329a1d (patch) | |
tree | 5728e6b15eee5f252a3f95942f1d5fb02f1cb570 /src | |
parent | 8e34e6fbb48b819b8aeff19f8ea95fac269ebe55 (diff) |
Restore STDIN during execute-silent
This allows users to terminate the process with CTRL-C when it hangs.
Diffstat (limited to 'src')
-rw-r--r-- | src/terminal.go | 2 | ||||
-rw-r--r-- | src/tui/tcell.go | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/terminal.go b/src/terminal.go index df54e5be..139aacad 100644 --- a/src/terminal.go +++ b/src/terminal.go @@ -1309,7 +1309,9 @@ func (t *Terminal) executeCommand(template string, forcePlus bool, background bo t.redraw() t.refresh() } else { + t.tui.Pause(false) cmd.Run() + t.tui.Resume(false) } } diff --git a/src/tui/tcell.go b/src/tui/tcell.go index 5f2b87fe..d337385c 100644 --- a/src/tui/tcell.go +++ b/src/tui/tcell.go @@ -382,12 +382,16 @@ func (r *FullscreenRenderer) GetChar() Event { return Event{Invalid, 0, nil} } -func (r *FullscreenRenderer) Pause(bool) { - _screen.Fini() +func (r *FullscreenRenderer) Pause(clear bool) { + if clear { + _screen.Fini() + } } -func (r *FullscreenRenderer) Resume(bool) { - r.initScreen() +func (r *FullscreenRenderer) Resume(clear bool) { + if clear { + r.initScreen() + } } func (r *FullscreenRenderer) Close() { |