Skip to content

Commit 8e9be2e

Browse files
committed
fix #56: support --short for suggest
1 parent dd6f600 commit 8e9be2e

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

docs/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@
102102
103103
$ maintainer github contribution suggest 2013-11
104104
$ maintainer github contribution suggest 2013
105+
$ maintainer github contribution suggest --short 2013
105106
```
106107

107108
[calendar]: https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/managing-contribution-graphs-on-your-profile/viewing-contributions-on-your-profile#contributions-calendar

internal/command/github/contribution.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ func Contribution(cnf *config.Tool) *cobra.Command {
337337
// dependencies and defaults
338338
service := github.New(http.TokenSourcedClient(cmd.Context(), cnf.Token))
339339
date := time.TruncateToYear(time.Now().UTC())
340+
short, _ := cmd.Flags().GetBool("short")
340341
weeks, target := 5, 5 // TODO:magic replace by params
341342

342343
// input validation: date(year,+month,+week{day})
@@ -421,9 +422,10 @@ func Contribution(cnf *config.Tool) *cobra.Command {
421422
// data presentation
422423
area := time.RangeByWeeks(suggest.Day, weeks, true).Shift(-time.Day) // Sunday
423424
data := contribution.HistogramByWeekday(chm.Subset(area), false)
424-
return view.Suggest(cmd, area, data, suggest, chm[suggest.Day])
425+
return view.Suggest(cmd, area, data, suggest, chm[suggest.Day], short)
425426
},
426427
}
428+
suggest.Flags().Bool("short", false, "returns only a suggested delta, e.g. -3119d")
427429
cmd.AddCommand(&suggest)
428430

429431
return &cmd

internal/command/github/view/suggest.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,14 @@ func Suggest(
1919
histogram []contribution.HistogramByWeekdayRow,
2020
suggest contribution.HistogramByWeekdayRow,
2121
current int,
22+
short bool,
2223
) error {
24+
delta := fmt.Sprintf("%dd", suggest.Day.Sub(time.Now().UTC())/time.Day)
25+
if short {
26+
printer.Println(delta)
27+
return nil
28+
}
29+
2330
data := convert(scope, histogram)
2431
table := simpletable.New()
2532

@@ -84,9 +91,9 @@ func Suggest(
8491
Cells: []*simpletable.Cell{
8592
{
8693
Span: len(table.Header.Cells),
87-
Text: fmt.Sprintf("Contributions for %s: %dd, %[4]d -> %[3]d",
94+
Text: fmt.Sprintf("Contributions for %s: %s, %[4]d -> %[3]d",
8895
suggest.Day.Format(time.RFC3339Day),
89-
suggest.Day.Sub(time.Now().UTC())/time.Day,
96+
delta,
9097
suggest.Sum,
9198
current,
9299
),

0 commit comments

Comments
 (0)