package stario import "errors" var ( ErrSignalInterrupt = errors.New("interrupt") ErrSignalStop = errors.New("stop") ErrSignalQuit = errors.New("quit") ) type inputSignalError struct { msg string cause error } func (e *inputSignalError) Error() string { return e.msg } func (e *inputSignalError) Unwrap() error { return e.cause } func signalErrorForType(sigtype rune) error { switch sigtype { case 0x03: return &inputSignalError{ msg: "SIGNAL SIGINT RECIVED", cause: ErrSignalInterrupt, } case 0x1a: return &inputSignalError{ msg: "SIGNAL SIGSTOP RECIVED", cause: ErrSignalStop, } case 0x1c: return &inputSignalError{ msg: "SIGNAL SIGQUIT RECIVED", cause: ErrSignalQuit, } default: return nil } }