diff options
author | Michael Muré <batolettre@gmail.com> | 2020-07-14 19:13:46 +0200 |
---|---|---|
committer | Michael Muré <batolettre@gmail.com> | 2020-07-14 19:13:46 +0200 |
commit | 5c823a702496c57a9adb307dddb22c5c59486548 (patch) | |
tree | 8efb24c5c199950c7c082e60cd5f6a750b0d8179 /commands | |
parent | efe6ea3371863652fd2f67289b96a71fc4816616 (diff) | |
download | git-bug-5c823a702496c57a9adb307dddb22c5c59486548.tar.gz |
ls: minor code improvements
Diffstat (limited to 'commands')
-rw-r--r-- | commands/ls.go | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/commands/ls.go b/commands/ls.go index 0c830479..950e2aa0 100644 --- a/commands/ls.go +++ b/commands/ls.go @@ -77,8 +77,6 @@ git bug ls --status closed --by creation } func runLs(env *Env, opts lsOptions, args []string) error { - time.Sleep(5 * time.Second) - var q *query.Query var err error @@ -237,11 +235,17 @@ func lsPlainFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { return nil } -func timeToOrgmode(time time.Time) string { - return time.Format("[2006-01-02 Mon 15:05]") -} - func lsOrgmodeFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { + // see https://orgmode.org/manual/Tags.html + orgTagRe := regexp.MustCompile("[^[:alpha:]_@]") + formatTag := func(l bug.Label) string { + return orgTagRe.ReplaceAllString(l.String(), "_") + } + + formatTime := func(time time.Time) string { + return time.Format("[2006-01-02 Mon 15:05]") + } + env.out.Println("#+TODO: OPEN | CLOSED") for _, b := range bugExcerpts { @@ -265,31 +269,26 @@ func lsOrgmodeFormatter(env *Env, bugExcerpts []*cache.BugExcerpt) error { name = b.LegacyAuthor.DisplayName() } - labels := b.Labels - var labelsString string - if len(labels) > 0 { - var labelsStrings = make([]string, len(labels)) - // see https://orgmode.org/manual/Tags.html - var orgTagRe = regexp.MustCompile("[^[:alpha:]_@]") - for i, l := range labels { - var tag = orgTagRe.ReplaceAllString(l.String(), "_") - labelsStrings[i] = tag + var labels strings.Builder + labels.WriteString(":") + for i, l := range b.Labels { + if i > 0 { + labels.WriteString(":") } - labelsString = fmt.Sprintf(":%s:", strings.Join(labelsStrings, ":")) - } else { - labelsString = "" + labels.WriteString(formatTag(l)) } + labels.WriteString(":") env.out.Printf("* %-6s %s %s %s: %s %s\n", status, b.Id.Human(), - timeToOrgmode(b.CreateTime()), + formatTime(b.CreateTime()), name, title, - labelsString, + labels.String(), ) - env.out.Printf("** Last Edited: %s\n", timeToOrgmode(b.EditTime())) + env.out.Printf("** Last Edited: %s\n", formatTime(b.EditTime())) env.out.Printf("** Actors:\n") for _, element := range b.Actors { |