aboutsummaryrefslogtreecommitdiffstats
path: root/commands/show.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/show.go')
-rw-r--r--commands/show.go41
1 files changed, 40 insertions, 1 deletions
diff --git a/commands/show.go b/commands/show.go
index 86c01a17..56717b3b 100644
--- a/commands/show.go
+++ b/commands/show.go
@@ -12,6 +12,10 @@ import (
"github.com/spf13/cobra"
)
+var (
+ showFieldsQuery string
+)
+
func runShowBug(cmd *cobra.Command, args []string) error {
backend, err := cache.NewRepoCache(repo)
if err != nil {
@@ -33,6 +37,32 @@ func runShowBug(cmd *cobra.Command, args []string) error {
firstComment := snapshot.Comments[0]
+ if showFieldsQuery != "" {
+ switch showFieldsQuery {
+ case "author":
+ fmt.Printf("%s\n", firstComment.Author.DisplayName())
+ case "authorEmail":
+ fmt.Printf("%s\n", firstComment.Author.Email)
+ case "createTime":
+ fmt.Printf("%s\n", firstComment.FormatTime())
+ case "id":
+ fmt.Printf("%s\n", snapshot.Id())
+ case "labels":
+ var labels = make([]string, len(snapshot.Labels))
+ fmt.Printf("%s\n", strings.Join(labels, ", "))
+ case "shortId":
+ fmt.Printf("%s\n", snapshot.HumanId())
+ case "status":
+ fmt.Printf("%s\n", snapshot.Status)
+ case "title":
+ fmt.Printf("%s\n", snapshot.Title)
+ default:
+ return fmt.Errorf("\nUnsupported field: %s\n", showFieldsQuery)
+ }
+
+ return nil
+ }
+
// Header
fmt.Printf("[%s] %s %s\n\n",
colors.Yellow(snapshot.Status),
@@ -58,6 +88,7 @@ func runShowBug(cmd *cobra.Command, args []string) error {
indent := " "
for i, comment := range snapshot.Comments {
+ var message string
fmt.Printf("%s#%d %s <%s>\n\n",
indent,
i,
@@ -65,9 +96,15 @@ func runShowBug(cmd *cobra.Command, args []string) error {
comment.Author.Email,
)
+ if comment.Message == "" {
+ message = colors.GreyBold("No description provided.")
+ } else {
+ message = comment.Message
+ }
+
fmt.Printf("%s%s\n\n\n",
indent,
- comment.Message,
+ message,
)
}
@@ -83,4 +120,6 @@ var showCmd = &cobra.Command{
func init() {
RootCmd.AddCommand(showCmd)
+ showCmd.Flags().StringVarP(&showFieldsQuery, "field", "f", "",
+ "Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]")
}