diff options
author | Michael Muré <batolettre@gmail.com> | 2018-07-15 01:43:20 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2018-07-15 01:43:20 +0200 |
commit | 1e4562e9991df974a959774d3a919ed190a4351b (patch) | |
tree | 690da6e29ac5fc3ca5599087fe97d6950d7e623d | |
parent | dfefba09ee706d2804969dc751c57a77f0d77bbf (diff) | |
download | git-bug-1e4562e9991df974a959774d3a919ed190a4351b.tar.gz |
ls: better output
-rw-r--r-- | bug/snapshot.go | 18 | ||||
-rw-r--r-- | commands/ls.go | 2 |
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 |