25 lines
297 B
Go
25 lines
297 B
Go
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)
|
|
}
|