ceeed6c32e
Signed-off-by: Ryan Cole <rcyoalne@gmail.com>
34 lines
769 B
Go
34 lines
769 B
Go
package goterm
|
|
|
|
import (
|
|
"bytes"
|
|
"text/tabwriter"
|
|
)
|
|
|
|
// Tabwriter with own buffer:
|
|
//
|
|
// totals := tm.NewTable(0, 10, 5, ' ', 0)
|
|
// fmt.Fprintf(totals, "Time\tStarted\tActive\tFinished\n")
|
|
// fmt.Fprintf(totals, "%s\t%d\t%d\t%d\n", "All", started, started-finished, finished)
|
|
// tm.Println(totals)
|
|
//
|
|
// Based on http://golang.org/pkg/text/tabwriter
|
|
type Table struct {
|
|
tabwriter.Writer
|
|
|
|
Buf *bytes.Buffer
|
|
}
|
|
|
|
// Same as here http://golang.org/pkg/text/tabwriter/#Writer.Init
|
|
func NewTable(minwidth, tabwidth, padding int, padchar byte, flags uint) *Table {
|
|
tbl := new(Table)
|
|
tbl.Buf = new(bytes.Buffer)
|
|
tbl.Init(tbl.Buf, minwidth, tabwidth, padding, padchar, flags)
|
|
|
|
return tbl
|
|
}
|
|
|
|
func (t *Table) String() string {
|
|
t.Flush()
|
|
return t.Buf.String()
|
|
}
|