package output import ( "fmt" "io" ) type Writer struct { w io.Writer } func NewWriter(w io.Writer) Writer { return Writer{w: w} } func (w Writer) Close() { if wc, ok := w.w.(io.WriteCloser); ok { wc.Close() } } func (w Writer) Press(keys ...Key) { fmt.Fprintf(w.w, "%+v\n", keys) }