From e3b3cb3f700b81941be7acd60cbaa7680f0d8a66 Mon Sep 17 00:00:00 2001 From: "T. von Dein" Date: Thu, 19 Feb 2026 13:55:04 +0100 Subject: [PATCH] fix-ascii-spacing (#51) fix #50: remove excess spaces in normal ascii table output mode --- cfg/config.go | 2 +- lib/printer.go | 10 +++++++- lib/printer_test.go | 58 ++++++++++++++++++++++----------------------- 3 files changed, 39 insertions(+), 31 deletions(-) diff --git a/cfg/config.go b/cfg/config.go index c3a0a4e..5d2fb11 100644 --- a/cfg/config.go +++ b/cfg/config.go @@ -28,7 +28,7 @@ import ( ) const ( - Version = "v1.6.0" + Version = "v1.6.1" MAXPARTS = 2 ) 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..5491f6d 100644 --- a/lib/printer_test.go +++ b/lib/printer_test.go @@ -1,5 +1,5 @@ /* -Copyright © 2022 Thomas von Dein +Copyright © 2022-2026 Thomas von Dein This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -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`, }, }