Skip to content

Commit ac9bfb1

Browse files
authored
(release): v0.4.0 (#28)
* (feat): mssing dates with end equals to start * (feat): table format will show time entry tags * (release): v0.4.0
1 parent 1d26e32 commit ac9bfb1

File tree

3 files changed

+30
-28
lines changed

3 files changed

+30
-28
lines changed

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## [Unreleased]
88

9+
## [v0.4.0] - 2020-06-01
10+
11+
## Added
12+
13+
- table format will show time entry tags
14+
15+
## Changed
16+
17+
- when adding fake entries with `--fill-missing-dates`, will set end time as equal
18+
to start time, so the duration will be 0 seconds
19+
920
## [v0.3.2] - 2020-05-22
1021

1122
## Changed

cmd/report.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,9 @@ func reportWithRange(c *api.Client, start, end time.Time, cmd *cobra.Command) {
136136

137137
missing := make([]dto.TimeEntry, d)
138138
for i, t := range missing {
139-
t.TimeInterval.Start = first.AddDate(0, 0, i)
139+
ti := first.AddDate(0, 0, i)
140+
t.TimeInterval.Start = ti
141+
t.TimeInterval.End = &ti
140142
missing[i] = t
141143
}
142144
return missing

reports/timeEntry.go

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"io"
88
"os"
9+
"strings"
910
"text/template"
1011
"time"
1112

@@ -31,21 +32,11 @@ func TimeEntriesPrintQuietly(timeEntries []dto.TimeEntry, w io.Writer) error {
3132
// TimeEntriesPrint will print more details
3233
func TimeEntriesPrint(timeEntries []dto.TimeEntry, w io.Writer) error {
3334
tw := tablewriter.NewWriter(w)
34-
tw.SetHeader([]string{"ID", "Start", "End", "Dur", "Project", "Description"})
35+
tw.SetHeader([]string{"ID", "Start", "End", "Dur", "Project", "Description", "Tags"})
3536

3637
lines := make([][]string, len(timeEntries))
3738

38-
var wD, wP = 0, 0
39-
4039
for i, t := range timeEntries {
41-
if wD < len(t.Description) {
42-
wD = len(t.Description)
43-
}
44-
45-
if t.Project != nil && wP < len(t.Project.Name) {
46-
wP = len(t.Project.Name)
47-
}
48-
4940
end := time.Now()
5041
if t.TimeInterval.End != nil {
5142
end = *t.TimeInterval.End
@@ -62,23 +53,31 @@ func TimeEntriesPrint(timeEntries []dto.TimeEntry, w io.Writer) error {
6253
durationToString(end.Sub(t.TimeInterval.Start)),
6354
projectName,
6455
t.Description,
56+
strings.Join(tagsToStringSlice(t.Tags), ", "),
6557
}
6658
}
6759

6860
if width, _, err := terminal.GetSize(int(os.Stdin.Fd())); err == nil {
69-
width = width - 70 - wP
70-
if width < wD {
71-
wD = width
72-
}
61+
tw.SetColWidth(width / 3)
7362
}
7463

75-
tw.SetColWidth(wD)
64+
tw.SetRowLine(true)
7665
tw.AppendBulk(lines)
7766
tw.Render()
7867

7968
return nil
8069
}
8170

71+
func tagsToStringSlice(tags []dto.Tag) []string {
72+
s := make([]string, len(tags))
73+
74+
for i, t := range tags {
75+
s[i] = fmt.Sprintf("%s (%s)", t.Name, t.ID)
76+
}
77+
78+
return s
79+
}
80+
8281
// TimeEntriesCSVPrint will print each time entry using the format string
8382
func TimeEntriesCSVPrint(timeEntries []dto.TimeEntry, out io.Writer) error {
8483
w := csv.NewWriter(out)
@@ -108,16 +107,6 @@ func TimeEntriesCSVPrint(timeEntries []dto.TimeEntry, out io.Writer) error {
108107
return t.In(time.Local).Format("2006-01-02 15:04:05")
109108
}
110109

111-
tags := func(tags []dto.Tag) []string {
112-
s := make([]string, len(tags))
113-
114-
for i, t := range tags {
115-
s[i] = fmt.Sprintf("%s (%s)", t.Name, t.ID)
116-
}
117-
118-
return s
119-
}
120-
121110
for _, te := range timeEntries {
122111
var p dto.Project
123112
if te.Project != nil {
@@ -147,7 +136,7 @@ func TimeEntriesCSVPrint(timeEntries []dto.TimeEntry, out io.Writer) error {
147136
te.User.Name,
148137
}
149138

150-
err := w.Write(append(arr, tags(te.Tags)...))
139+
err := w.Write(append(arr, tagsToStringSlice(te.Tags)...))
151140

152141
if err != nil {
153142
return err

0 commit comments

Comments
 (0)