Fix excessive line spacing issue when listing nodes

Signed-off-by: xu yang <xyang@ciq.com>
This commit is contained in:
xu yang
2024-09-24 04:08:30 +00:00
committed by Jonathon Anderson
parent d24a92965f
commit aa8282ad10
9 changed files with 78 additions and 72 deletions

View File

@@ -1,17 +1,20 @@
package helper
import (
"os"
"regexp"
"strings"
"github.com/olekukonko/tablewriter"
)
type PrintHelper struct {
*tablewriter.Table
sb *strings.Builder
}
func NewPrintHelper(header []string) *PrintHelper {
tb := tablewriter.NewWriter(os.Stdout)
func New(header []string) *PrintHelper {
sb := &strings.Builder{}
tb := tablewriter.NewWriter(sb)
tb.SetHeader(header)
tb.SetAutoWrapText(false)
tb.SetHeaderAlignment(tablewriter.ALIGN_LEFT)
@@ -23,5 +26,11 @@ func NewPrintHelper(header []string) *PrintHelper {
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("")))
}