Skip to content

Commit 2719b91

Browse files
committed
Keep uppercase timestamp tags in width calculation
1 parent 367be84 commit 2719b91

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

internal/translator/translator.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"sync"
1515
"syscall"
1616
"time"
17+
"unicode"
1718

1819
_ "github.com/rokath/trice/internal/charDecoder"
1920
"github.com/rokath/trice/internal/decoder"
@@ -183,12 +184,21 @@ func targetStampWidth(size int, format string) int {
183184
func targetStampDisplayWidth(size int, format string) int {
184185
s := formatTargetStamp(size, format, 0)
185186
tag, rest, found := strings.Cut(s, ":")
186-
if found && tag != "" {
187+
if found && tag != "" && !containsUppercase(tag) {
187188
return len(rest)
188189
}
189190
return len(s)
190191
}
191192

193+
func containsUppercase(s string) bool {
194+
for _, r := range s {
195+
if unicode.IsUpper(r) {
196+
return true
197+
}
198+
}
199+
return false
200+
}
201+
192202
func commonTargetDeltaPlaceholder() string {
193203
if decoder.TargetStamp0Delta != "" {
194204
return decoder.TargetStamp0Delta

internal/translator/translator_delta_test.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,15 @@ func TestTargetStampDisplayWidthUsesGenericTagPrefix(t *testing.T) {
156156
}
157157
}
158158

159+
func TestTargetStampDisplayWidthKeepsUppercaseTagPrefix(t *testing.T) {
160+
if got := targetStampDisplayWidth(4, "Time:%12d"); got != len("Time:")+12 {
161+
t.Fatalf("unexpected display width for uppercase tag: %d", got)
162+
}
163+
if got := targetStampDisplayWidth(4, "timeStamp:%12d"); got != len("timeStamp:")+12 {
164+
t.Fatalf("unexpected display width for mixed-case tag: %d", got)
165+
}
166+
}
167+
159168
func TestAutoTargetStamp0Delta(t *testing.T) {
160169
saved0Delta := decoder.TargetStamp0Delta
161170
saved16Delta := decoder.TargetStamp16Delta

0 commit comments

Comments
 (0)