diff --git a/lib/printer.go b/lib/printer.go index 9bd9f1f..6bd65c9 100644 --- a/lib/printer.go +++ b/lib/printer.go @@ -255,7 +255,15 @@ func printASCIIData(writer io.Writer, conf cfg.Config, data *Tabdata) { log.Fatalf("Failed to render table: %s", err) } - output(writer, conf, color.Sprint(colorizeData(conf, tableString.String()))) + // we need to trim our output here, because tablewriter appends + // excess whitespace to our rows. + cleanedString := &strings.Builder{} + for _, row := range strings.Split(tableString.String(), "\n") { + cleanedString.WriteString(strings.TrimSpace(row)) + cleanedString.WriteString("\n") + } + + output(writer, conf, color.Sprint(colorizeData(conf, cleanedString.String()))) } /* diff --git a/lib/printer_test.go b/lib/printer_test.go index 0d82c88..3525d67 100644 --- a/lib/printer_test.go +++ b/lib/printer_test.go @@ -23,8 +23,8 @@ import ( "strings" "testing" - "github.com/stretchr/testify/assert" "codeberg.org/scip/tablizer/cfg" + "github.com/stretchr/testify/assert" ) func newData() Tabdata { @@ -78,9 +78,9 @@ var tests = []struct { numberize: true, name: "default", expect: ` -NAME(1) DURATION(2) COUNT(3) WHEN(4) -beta 1d10h5m1s 33 3/1/2014 -alpha 4h35m 170 2013-Feb-03 +NAME(1) DURATION(2) COUNT(3) WHEN(4) +beta 1d10h5m1s 33 3/1/2014 +alpha 4h35m 170 2013-Feb-03 ceta 33d12h 9 06/Jan/2008 15:04:05 -0700`, }, { @@ -199,9 +199,9 @@ DURATION(2): 33d12h numberize: true, desc: false, expect: ` -NAME(1) DURATION(2) COUNT(3) WHEN(4) -ceta 33d12h 9 06/Jan/2008 15:04:05 -0700 -beta 1d10h5m1s 33 3/1/2014 +NAME(1) DURATION(2) COUNT(3) WHEN(4) +ceta 33d12h 9 06/Jan/2008 15:04:05 -0700 +beta 1d10h5m1s 33 3/1/2014 alpha 4h35m 170 2013-Feb-03`, }, { @@ -211,9 +211,9 @@ alpha 4h35m 170 2013-Feb-03`, desc: false, numberize: true, expect: ` -NAME(1) DURATION(2) COUNT(3) WHEN(4) -ceta 33d12h 9 06/Jan/2008 15:04:05 -0700 -alpha 4h35m 170 2013-Feb-03 +NAME(1) DURATION(2) COUNT(3) WHEN(4) +ceta 33d12h 9 06/Jan/2008 15:04:05 -0700 +alpha 4h35m 170 2013-Feb-03 beta 1d10h5m1s 33 3/1/2014`, }, { @@ -223,9 +223,9 @@ beta 1d10h5m1s 33 3/1/2014`, numberize: true, desc: false, expect: ` -NAME(1) DURATION(2) COUNT(3) WHEN(4) -alpha 4h35m 170 2013-Feb-03 -beta 1d10h5m1s 33 3/1/2014 +NAME(1) DURATION(2) COUNT(3) WHEN(4) +alpha 4h35m 170 2013-Feb-03 +beta 1d10h5m1s 33 3/1/2014 ceta 33d12h 9 06/Jan/2008 15:04:05 -0700`, }, @@ -236,9 +236,9 @@ ceta 33d12h 9 06/Jan/2008 15:04:05 -0700`, numberize: true, usecolstr: "1,4", expect: ` -NAME(1) WHEN(4) -beta 3/1/2014 -alpha 2013-Feb-03 +NAME(1) WHEN(4) +beta 3/1/2014 +alpha 2013-Feb-03 ceta 06/Jan/2008 15:04:05 -0700`, }, { @@ -247,9 +247,9 @@ ceta 06/Jan/2008 15:04:05 -0700`, numberize: true, usecolstr: "2", expect: ` -DURATION(2) -1d10h5m1s -4h35m +DURATION(2) +1d10h5m1s +4h35m 33d12h`, }, { @@ -258,9 +258,9 @@ DURATION(2) numberize: true, usecolstr: "3", expect: ` -COUNT(3) -33 -170 +COUNT(3) +33 +170 9`, }, { @@ -270,9 +270,9 @@ COUNT(3) numberize: true, usecolstr: "1,3", expect: ` -NAME(1) COUNT(3) -beta 33 -alpha 170 +NAME(1) COUNT(3) +beta 33 +alpha 170 ceta 9`, }, { @@ -281,9 +281,9 @@ ceta 9`, numberize: true, usecolstr: "2,4", expect: ` -DURATION(2) WHEN(4) -1d10h5m1s 3/1/2014 -4h35m 2013-Feb-03 +DURATION(2) WHEN(4) +1d10h5m1s 3/1/2014 +4h35m 2013-Feb-03 33d12h 06/Jan/2008 15:04:05 -0700`, }, }