diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/krino/log.go | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/cmd/krino/log.go b/cmd/krino/log.go index 903f8e8..bfe61a2 100644 --- a/cmd/krino/log.go +++ b/cmd/krino/log.go @@ -102,11 +102,15 @@ func cmdLog(g *globals, args []string, stdout, stderr io.Writer) int { // styleUndone styles the "(undone)" formatRun appends, faint (spec ยง8.2); // a line without it is returned as is. func styleUndone(line string, p palette) string { - const mark = " (undone)" - if !p.on || !strings.HasSuffix(line, mark) { + if !p.on { return line } - return strings.TrimSuffix(line, mark) + " " + p.faint("(undone)") + for _, mark := range []string{"(partly undone)", "(undone)"} { + if strings.HasSuffix(line, " "+mark) { + return strings.TrimSuffix(line, " "+mark) + " " + p.faint(mark) + } + } + return line } // formatRun renders one journal.Run as krino log lists it: id, start time, @@ -114,7 +118,10 @@ func styleUndone(line string, p palette) string { // "(undone)" appended when a later run has reversed it. func formatRun(r journal.Run) string { line := fmt.Sprintf("%s %s %s %s", display(r.ID), r.Start.Format("2006-01-02 15:04"), display(strings.Join(r.Dirs, ", ")), countsText(r.Counts)) - if r.Undone { + switch { + case r.PartlyUndone: + line += " (partly undone)" + case r.Undone: line += " (undone)" } return line |
