aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bug/snapshot.go18
-rw-r--r--commands/ls.go2
2 files changed, 19 insertions, 1 deletions
diff --git a/bug/snapshot.go b/bug/snapshot.go
index 8828c337..9b9acf87 100644
--- a/bug/snapshot.go
+++ b/bug/snapshot.go
@@ -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)
+}
diff --git a/commands/ls.go b/commands/ls.go
index 2101dc84..631afb5e 100644
--- a/commands/ls.go
+++ b/commands/ls.go
@@ -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