Files
warewulf/internal/app/wwctl/helper/printhelper.go
2024-09-25 13:49:08 -06:00

37 lines
718 B
Go

package helper
import (
"regexp"
"strings"
"github.com/olekukonko/tablewriter"
)
type PrintHelper struct {
*tablewriter.Table
sb *strings.Builder
}
func New(header []string) *PrintHelper {
sb := &strings.Builder{}
tb := tablewriter.NewWriter(sb)
tb.SetHeader(header)
tb.SetAutoWrapText(false)
tb.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
tb.SetAlignment(tablewriter.ALIGN_LEFT)
tb.SetCenterSeparator("")
tb.SetColumnSeparator("")
tb.SetRowSeparator("")
tb.SetHeaderLine(false)
tb.SetBorder(false)
return &PrintHelper{
Table: tb,
sb: sb,
}
}
func (p *PrintHelper) String() string {
exp := regexp.MustCompile("(?m) *$")
return string(exp.ReplaceAll([]byte(p.sb.String()), []byte("")))
}