package statusline import ( "fmt" "io" ) type statusLine struct { out io.Writer prevLen int } func TTY(out io.Writer) StatusLine { return &statusLine{out: out} } func (sl *statusLine) Put(line string) { fmt.Fprintf(sl.out, "\r%-[1]*[2]s", sl.prevLen, line) sl.prevLen = len(line) } func (sl *statusLine) End(keep bool) { if keep { io.WriteString(sl.out, "\n") } else { fmt.Fprintf(sl.out, "\r%-[1]*[2]s\r", sl.prevLen, "") } }