mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-14 08:45:30 +03:00
commands: show: change for a single valued --field flag
This commit is contained in:
parent
5850116c0d
commit
43d0fe5cae
128
commands/show.go
128
commands/show.go
@ -13,7 +13,7 @@ import (
|
||||
)
|
||||
|
||||
var (
|
||||
showFieldsQuery []string
|
||||
showFieldsQuery string
|
||||
)
|
||||
|
||||
func runShowBug(cmd *cobra.Command, args []string) error {
|
||||
@ -37,69 +37,75 @@ func runShowBug(cmd *cobra.Command, args []string) error {
|
||||
|
||||
firstComment := snapshot.Comments[0]
|
||||
|
||||
if showFieldsQuery==nil {
|
||||
// Header
|
||||
fmt.Printf("[%s] %s %s\n\n",
|
||||
colors.Yellow(snapshot.Status),
|
||||
colors.Cyan(snapshot.HumanId()),
|
||||
snapshot.Title,
|
||||
)
|
||||
|
||||
fmt.Printf("%s opened this issue %s\n\n",
|
||||
colors.Magenta(firstComment.Author.DisplayName()),
|
||||
firstComment.FormatTimeRel(),
|
||||
)
|
||||
|
||||
var labels = make([]string, len(snapshot.Labels))
|
||||
for i := range snapshot.Labels {
|
||||
labels[i] = string(snapshot.Labels[i])
|
||||
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)
|
||||
}
|
||||
|
||||
fmt.Printf("labels: %s\n\n",
|
||||
strings.Join(labels, ", "),
|
||||
return nil
|
||||
}
|
||||
|
||||
// Header
|
||||
fmt.Printf("[%s] %s %s\n\n",
|
||||
colors.Yellow(snapshot.Status),
|
||||
colors.Cyan(snapshot.HumanId()),
|
||||
snapshot.Title,
|
||||
)
|
||||
|
||||
fmt.Printf("%s opened this issue %s\n\n",
|
||||
colors.Magenta(firstComment.Author.DisplayName()),
|
||||
firstComment.FormatTimeRel(),
|
||||
)
|
||||
|
||||
var labels = make([]string, len(snapshot.Labels))
|
||||
for i := range snapshot.Labels {
|
||||
labels[i] = string(snapshot.Labels[i])
|
||||
}
|
||||
|
||||
fmt.Printf("labels: %s\n\n",
|
||||
strings.Join(labels, ", "),
|
||||
)
|
||||
|
||||
// Comments
|
||||
indent := " "
|
||||
|
||||
for i, comment := range snapshot.Comments {
|
||||
var message string
|
||||
fmt.Printf("%s#%d %s <%s>\n\n",
|
||||
indent,
|
||||
i,
|
||||
comment.Author.DisplayName(),
|
||||
comment.Author.Email,
|
||||
)
|
||||
|
||||
// Comments
|
||||
indent := " "
|
||||
|
||||
for i, comment := range snapshot.Comments {
|
||||
var message string
|
||||
fmt.Printf("%s#%d %s <%s>\n\n",
|
||||
indent,
|
||||
i,
|
||||
comment.Author.DisplayName(),
|
||||
comment.Author.Email,
|
||||
)
|
||||
|
||||
if comment.Message == "" {
|
||||
message = colors.GreyBold("No description provided.")
|
||||
} else {
|
||||
message = comment.Message
|
||||
}
|
||||
|
||||
fmt.Printf("%s%s\n\n\n",
|
||||
indent,
|
||||
message,
|
||||
)
|
||||
if comment.Message == "" {
|
||||
message = colors.GreyBold("No description provided.")
|
||||
} else {
|
||||
message = comment.Message
|
||||
}
|
||||
} else {
|
||||
for _, field := range showFieldsQuery {
|
||||
switch field {
|
||||
case "author": fmt.Printf("%s ",firstComment.Author.DisplayName())
|
||||
case "authorEmail": fmt.Printf("%s ",firstComment.Author.Email)
|
||||
case "createTime": fmt.Printf("%s ",firstComment.FormatTime())
|
||||
case "id": fmt.Printf("%s ",snapshot.Id())
|
||||
case "labels":
|
||||
var labels = make([]string, len(snapshot.Labels))
|
||||
fmt.Printf("%s ",strings.Join(labels,", "))
|
||||
case "shortId": fmt.Printf("%s ",snapshot.HumanId())
|
||||
case "status": fmt.Printf("%s ",snapshot.Status)
|
||||
case "title": fmt.Printf("%s ",snapshot.Title)
|
||||
default:
|
||||
return fmt.Errorf("\nUnsupported field: %s\n",field)
|
||||
}
|
||||
}
|
||||
fmt.Printf("\n")
|
||||
|
||||
fmt.Printf("%s%s\n\n\n",
|
||||
indent,
|
||||
message,
|
||||
)
|
||||
}
|
||||
|
||||
return nil
|
||||
@ -114,6 +120,6 @@ var showCmd = &cobra.Command{
|
||||
|
||||
func init() {
|
||||
RootCmd.AddCommand(showCmd)
|
||||
showCmd.Flags().StringSliceVarP(&showFieldsQuery,"fields","f",nil,
|
||||
"Selects fields to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]")
|
||||
showCmd.Flags().StringVarP(&showFieldsQuery, "field", "f", "",
|
||||
"Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]")
|
||||
}
|
||||
|
@ -19,6 +19,10 @@ Display the details of a bug
|
||||
|
||||
|
||||
.SH OPTIONS
|
||||
.PP
|
||||
\fB\-f\fP, \fB\-\-field\fP=""
|
||||
Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]
|
||||
|
||||
.PP
|
||||
\fB\-h\fP, \fB\-\-help\fP[=false]
|
||||
help for show
|
||||
|
@ -13,7 +13,8 @@ git-bug show [<id>] [flags]
|
||||
### Options
|
||||
|
||||
```
|
||||
-h, --help help for show
|
||||
-f, --field string Select field to display. Valid values are [author,authorEmail,createTime,id,labels,shortId,status,title]
|
||||
-h, --help help for show
|
||||
```
|
||||
|
||||
### SEE ALSO
|
||||
|
@ -644,6 +644,9 @@ _git-bug_show()
|
||||
flags_with_completion=()
|
||||
flags_completion=()
|
||||
|
||||
flags+=("--field=")
|
||||
two_word_flags+=("-f")
|
||||
local_nonpersistent_flags+=("--field=")
|
||||
|
||||
must_have_one_flag=()
|
||||
must_have_one_noun=()
|
||||
|
@ -14,7 +14,7 @@ then
|
||||
hashChar=":"
|
||||
fi
|
||||
|
||||
ISSUE=`git bug show --fields shortId`
|
||||
ISSUE=`git bug show --field shortId`
|
||||
if [ "$ISSUE" = "" ]
|
||||
then
|
||||
echo "$cmtChar !!!!! insert $hashChar<issue_id> in your comment, pick one in list below." >> "$1"
|
||||
|
Loading…
Reference in New Issue
Block a user