Skip to content

Commit 188d3bc

Browse files
committed
fix: correct FitArray if first element exatly fits
1 parent 752c8f5 commit 188d3bc

File tree

1 file changed

+17
-9
lines changed

1 file changed

+17
-9
lines changed

internal/utils/utils.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,29 @@ func FitArray(a []string, width int) string {
5151

5252
for _, s := range a {
5353
partLen := len(s)
54-
if len(parts) > 0 {
54+
partsLen := len(parts)
55+
56+
if partsLen > 0 {
5557
partLen++ // count space if not the first
5658
}
5759

58-
if partLen > remaining {
60+
if partLen < remaining {
61+
parts = append(parts, s)
62+
remaining -= partLen
63+
} else if partLen > remaining {
5964
parts = append(parts, "…")
60-
remaining -= 2 // …
65+
remaining -= 1
6166
break
67+
} else {
68+
if partsLen < len(a)-1 {
69+
parts = append(parts, "…")
70+
remaining -= 1
71+
break
72+
} else {
73+
parts = append(parts, s)
74+
remaining -= partLen
75+
}
6276
}
63-
64-
if len(parts) > 0 {
65-
remaining-- //space
66-
}
67-
parts = append(parts, s)
68-
remaining -= len(s)
6977
}
7078

7179
return "[" + strings.Join(parts, " ") + "]" + strings.Repeat(" ", remaining)

0 commit comments

Comments
 (0)