Skip to content

Commit 989ef9a

Browse files
Add alternate row coloring when table is more than 14 rows long.
1 parent cae1ca6 commit 989ef9a

2 files changed

Lines changed: 20 additions & 6 deletions

File tree

internal/pretty/ansi.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,6 @@ const Red string = "\x1b[31m"
88
const DefaultColor string = "\x1b[39m"
99

1010
const Dim string = "\x1b[2m"
11+
const Invert string = "\x1b[7m"
1112

1213
const EraseLine string = "\x1b[2K"

table.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import (
2121

2222
const narrowWidth = 55
2323
const wideWidth = 80
24+
const maxBeforeColorAlternating = 14
2425

2526
func pickWidth(mode tally.TallyMode, showEmail bool) int {
2627
wideMode := mode == tally.FilesMode || mode == tally.LinesMode
@@ -309,39 +310,51 @@ func writeTable(
309310
fmt.Printf("├%s┤\n", rule)
310311

311312
// -- Write table rows --
312-
for _, t := range tallies {
313+
totalRows := len(tallies)
314+
for i, t := range tallies {
315+
alternating := ""
316+
if totalRows > maxBeforeColorAlternating && i%2 == 1 {
317+
alternating = pretty.Invert
318+
}
319+
313320
lines := fmt.Sprintf(
314321
"%s%7s%s / %s%7s%s",
315322
pretty.Green,
316323
format.Number(t.LinesAdded),
317-
pretty.Reset,
324+
pretty.DefaultColor,
318325
pretty.Red,
319326
format.Number(t.LinesRemoved),
320-
pretty.Reset,
327+
pretty.DefaultColor,
321328
)
322329

323330
if mode == tally.LinesMode || mode == tally.FilesMode {
324331
fmt.Printf(
325-
"│%s %-11s %7s %7s %17s│\n",
332+
"│%s%s %-11s %7s %7s %17s%s│\n",
333+
alternating,
326334
formatAuthor(t, showEmail, colwidth-36-13),
327335
format.RelativeTime(progStart, t.LastCommitTime),
328336
format.Number(t.Commits),
329337
format.Number(t.FileCount),
330338
lines,
339+
pretty.Reset,
331340
)
332341
} else if mode == tally.FirstModifiedMode {
333342
fmt.Printf(
334-
"│%s %-11s %7s│\n",
343+
"│%s%s %-11s %7s%s│\n",
344+
alternating,
335345
formatAuthor(t, showEmail, colwidth-22),
336346
format.RelativeTime(progStart, t.FirstCommitTime),
337347
format.Number(t.Commits),
348+
pretty.Reset,
338349
)
339350
} else {
340351
fmt.Printf(
341-
"│%s %-11s %7s│\n",
352+
"│%s%s %-11s %7s%s│\n",
353+
alternating,
342354
formatAuthor(t, showEmail, colwidth-22),
343355
format.RelativeTime(progStart, t.LastCommitTime),
344356
format.Number(t.Commits),
357+
pretty.Reset,
345358
)
346359
}
347360
}

0 commit comments

Comments
 (0)