@@ -192,14 +192,7 @@ func (i *Instance) Readline() (string, error) {
case CharCtrlW:
buf.DeleteWord()
case CharCtrlZ:
- if err := UnsetRawMode(fd, termios); err != nil {
- return "", err
- }
-
- syscall.Kill(0, syscall.SIGSTOP)
- // on resume...
- return "", nil
+ return handleCharCtrlZ(fd, termios)
case CharEnter:
output := buf.String()
if output != "" {
@@ -0,0 +1,18 @@
+//go:build !windows
+
+package readline
+import (
+ "syscall"
+)
+func handleCharCtrlZ(fd int, termios *Termios) (string, error) {
+ if err := UnsetRawMode(fd, termios); err != nil {
+ return "", err
+ }
+ syscall.Kill(0, syscall.SIGSTOP)
+ // on resume...
+ return "", nil
+}
@@ -0,0 +1,6 @@
+func handleCharCtrlZ(fd int, state *State) (string, error) {
+ // not supported