Bläddra i källkod

handle ctrl+z

Michael Yang 1 år sedan
förälder
incheckning
88620e983a
1 ändrade filer med 9 tillägg och 0 borttagningar
  1. 9 0
      readline/readline.go

+ 9 - 0
readline/readline.go

@@ -191,6 +191,15 @@ func (i *Instance) Readline() (string, error) {
 			buf.ClearScreen()
 		case CharCtrlW:
 			buf.DeleteWord()
+		case CharCtrlZ:
+			if err := UnsetRawMode(fd, termios); err != nil {
+				return "", err
+			}
+
+			syscall.Kill(0, syscall.SIGSTOP)
+
+			// on resume...
+			return "", nil
 		case CharEnter:
 			output := buf.String()
 			if output != "" {