Change summary
bug/snapshot.go | 18 ++++++++++++++++++
commands/ls.go | 2 +-
2 files changed, 19 insertions(+), 1 deletion(-)
Detailed changes
@@ -1,8 +1,26 @@
package bug
+import (
+ "fmt"
+ "time"
+)
+
// Snapshot is a compiled form of the Bug data structure used for storage and merge
type Snapshot struct {
Title string
Comments []Comment
Labels []Label
}
+
+func (snap Snapshot) Summary() string {
+ return fmt.Sprintf("c:%d l:%d %s",
+ len(snap.Comments)-1,
+ len(snap.Labels),
+ snap.LastEdit().Format(time.RFC822),
+ )
+}
+
+func (snap Snapshot) LastEdit() time.Time {
+ lastEditTimestamp := snap.Comments[len(snap.Comments)-1].Time
+ return time.Unix(lastEditTimestamp, 0)
+}
@@ -22,7 +22,7 @@ func RunLsBug(repo repository.Repo, args []string) error {
snapshot := bug.Compile()
- fmt.Printf("%s %s\n", bug.HumanId(), snapshot.Title)
+ fmt.Printf("%s %s\t%s\n", bug.HumanId(), snapshot.Title, snapshot.Summary())
}
return nil