aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2018-09-18 13:28:01 +0200
committerMichael Muré <batolettre@gmail.com>2018-09-18 13:28:01 +0200
commit544b9cc0c4cc694cdb688b9cad8f9c8542d111fc (patch)
treeb16dd6c9cfeb56d85e8d701b7851bb2dc947ad97 /commands
parent5f9fd2a2d95bd23e5d6972ec822bf1fea3077804 (diff)
downloadgit-bug-544b9cc0c4cc694cdb688b9cad8f9c8542d111fc.tar.gz
commands: convert compatible commands to the implicit select mechanism
Diffstat (limited to 'commands')
-rw-r--r--commands/comment.go18
-rw-r--r--commands/comment_add.go18
-rw-r--r--commands/label add.go15
-rw-r--r--commands/label rm.go15
-rw-r--r--commands/label.go16
-rw-r--r--commands/select.go2
-rw-r--r--commands/show.go15
-rw-r--r--commands/status.go18
-rw-r--r--commands/status_close.go17
-rw-r--r--commands/status_open.go17
-rw-r--r--commands/title.go18
-rw-r--r--commands/title_edit.go18
12 files changed, 36 insertions, 151 deletions
diff --git a/commands/comment.go b/commands/comment.go
index 46267979..9169d7d7 100644
--- a/commands/comment.go
+++ b/commands/comment.go
@@ -1,36 +1,24 @@
package commands
import (
- "errors"
"fmt"
"github.com/MichaelMure/git-bug/bug"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/MichaelMure/git-bug/util/colors"
"github.com/MichaelMure/git-bug/util/text"
"github.com/spf13/cobra"
)
func runComment(cmd *cobra.Command, args []string) error {
- var err error
-
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -55,7 +43,7 @@ func commentsTextOutput(comments []bug.Comment) {
}
var commentCmd = &cobra.Command{
- Use: "comment <id>",
+ Use: "comment [<id>]",
Short: "Show a bug's comments",
RunE: runComment,
}
diff --git a/commands/comment_add.go b/commands/comment_add.go
index 46d0c8b8..c80e9ec5 100644
--- a/commands/comment_add.go
+++ b/commands/comment_add.go
@@ -4,8 +4,8 @@ import (
"fmt"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/MichaelMure/git-bug/input"
- "github.com/pkg/errors"
"github.com/spf13/cobra"
)
@@ -15,24 +15,12 @@ var (
)
func runCommentAdd(cmd *cobra.Command, args []string) error {
- var err error
-
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
if commentAddMessageFile != "" && commentAddMessage == "" {
commentAddMessage, err = input.FromFile(commentAddMessageFile)
if err != nil {
@@ -51,7 +39,7 @@ func runCommentAdd(cmd *cobra.Command, args []string) error {
}
}
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -65,7 +53,7 @@ func runCommentAdd(cmd *cobra.Command, args []string) error {
}
var commentAddCmd = &cobra.Command{
- Use: "add <id>",
+ Use: "add [<id>]",
Short: "Add a new comment to a bug",
RunE: runCommentAdd,
}
diff --git a/commands/label add.go b/commands/label add.go
index fccbfaa3..68811dec 100644
--- a/commands/label add.go
+++ b/commands/label add.go
@@ -1,33 +1,26 @@
package commands
import (
- "errors"
"fmt"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runLabelAdd(cmd *cobra.Command, args []string) error {
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
- add := args[1:]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
- changes, err := b.ChangeLabels(add, nil)
+ changes, err := b.ChangeLabels(args, nil)
for _, change := range changes {
fmt.Println(change)
@@ -41,7 +34,7 @@ func runLabelAdd(cmd *cobra.Command, args []string) error {
}
var labelAddCmd = &cobra.Command{
- Use: "add <id> [<label>...]",
+ Use: "add [<id>] <label>[...]",
Short: "Add a label to a bug",
RunE: runLabelAdd,
}
diff --git a/commands/label rm.go b/commands/label rm.go
index 9908094c..8ad89593 100644
--- a/commands/label rm.go
+++ b/commands/label rm.go
@@ -1,33 +1,26 @@
package commands
import (
- "errors"
"fmt"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runLabelRm(cmd *cobra.Command, args []string) error {
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
- remove := args[1:]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
- changes, err := b.ChangeLabels(nil, remove)
+ changes, err := b.ChangeLabels(nil, args)
for _, change := range changes {
fmt.Println(change)
@@ -41,7 +34,7 @@ func runLabelRm(cmd *cobra.Command, args []string) error {
}
var labelRmCmd = &cobra.Command{
- Use: "rm <id> [<label>...]",
+ Use: "rm [<id>] <label>[...]",
Short: "Remove a label from a bug",
RunE: runLabelRm,
}
diff --git a/commands/label.go b/commands/label.go
index c693f82c..d41b6dfb 100644
--- a/commands/label.go
+++ b/commands/label.go
@@ -1,31 +1,21 @@
package commands
import (
- "errors"
"fmt"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runLabel(cmd *cobra.Command, args []string) error {
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -40,7 +30,7 @@ func runLabel(cmd *cobra.Command, args []string) error {
}
var labelCmd = &cobra.Command{
- Use: "label <id>",
+ Use: "label [<id>]",
Short: "Display a bug labels",
RunE: runLabel,
}
diff --git a/commands/select.go b/commands/select.go
index c810b85a..2cbb0b2e 100644
--- a/commands/select.go
+++ b/commands/select.go
@@ -35,7 +35,7 @@ func runSelect(cmd *cobra.Command, args []string) error {
}
var selectCmd = &cobra.Command{
- Use: "select [<id>]",
+ Use: "select <id>",
Short: "Select a bug for implicit use in future commands",
Example: `git bug select 2f15
git bug comment
diff --git a/commands/show.go b/commands/show.go
index d4d1bb54..b1b7b432 100644
--- a/commands/show.go
+++ b/commands/show.go
@@ -6,28 +6,19 @@ import (
"strings"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/MichaelMure/git-bug/util/colors"
"github.com/spf13/cobra"
)
func runShowBug(cmd *cobra.Command, args []string) error {
- if len(args) > 1 {
- return errors.New("Only showing one bug at a time is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -82,7 +73,7 @@ func runShowBug(cmd *cobra.Command, args []string) error {
}
var showCmd = &cobra.Command{
- Use: "show <id>",
+ Use: "show [<id>]",
Short: "Display the details of a bug",
RunE: runShowBug,
}
diff --git a/commands/status.go b/commands/status.go
index 29646b6e..02ddc481 100644
--- a/commands/status.go
+++ b/commands/status.go
@@ -4,30 +4,18 @@ import (
"fmt"
"github.com/MichaelMure/git-bug/cache"
- "github.com/pkg/errors"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runStatus(cmd *cobra.Command, args []string) error {
- var err error
-
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -40,7 +28,7 @@ func runStatus(cmd *cobra.Command, args []string) error {
}
var statusCmd = &cobra.Command{
- Use: "status <id>",
+ Use: "status [<id>]",
Short: "Show the bug status",
RunE: runStatus,
}
diff --git a/commands/status_close.go b/commands/status_close.go
index 55e47c22..de8b990c 100644
--- a/commands/status_close.go
+++ b/commands/status_close.go
@@ -1,30 +1,19 @@
package commands
import (
- "errors"
-
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runStatusClose(cmd *cobra.Command, args []string) error {
- if len(args) > 1 {
- return errors.New("Only closing one bug at a time is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -38,7 +27,7 @@ func runStatusClose(cmd *cobra.Command, args []string) error {
}
var closeCmd = &cobra.Command{
- Use: "close <id>",
+ Use: "close [<id>]",
Short: "Mark the bug as closed",
RunE: runStatusClose,
}
diff --git a/commands/status_open.go b/commands/status_open.go
index 15108ddf..6b94b9cb 100644
--- a/commands/status_open.go
+++ b/commands/status_open.go
@@ -1,30 +1,19 @@
package commands
import (
- "errors"
-
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runStatusOpen(cmd *cobra.Command, args []string) error {
- if len(args) > 1 {
- return errors.New("Only opening one bug at a time is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -38,7 +27,7 @@ func runStatusOpen(cmd *cobra.Command, args []string) error {
}
var openCmd = &cobra.Command{
- Use: "open <id>",
+ Use: "open [<id>]",
Short: "Mark the bug as open",
RunE: runStatusOpen,
}
diff --git a/commands/title.go b/commands/title.go
index 16cfc342..dd5fbfb1 100644
--- a/commands/title.go
+++ b/commands/title.go
@@ -4,30 +4,18 @@ import (
"fmt"
"github.com/MichaelMure/git-bug/cache"
- "github.com/pkg/errors"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/spf13/cobra"
)
func runTitle(cmd *cobra.Command, args []string) error {
- var err error
-
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -40,7 +28,7 @@ func runTitle(cmd *cobra.Command, args []string) error {
}
var titleCmd = &cobra.Command{
- Use: "title <id>",
+ Use: "title [<id>]",
Short: "Display a bug's title",
RunE: runTitle,
}
diff --git a/commands/title_edit.go b/commands/title_edit.go
index 111c6325..a62daf6c 100644
--- a/commands/title_edit.go
+++ b/commands/title_edit.go
@@ -1,10 +1,10 @@
package commands
import (
- "errors"
"fmt"
"github.com/MichaelMure/git-bug/cache"
+ "github.com/MichaelMure/git-bug/commands/select"
"github.com/MichaelMure/git-bug/input"
"github.com/spf13/cobra"
)
@@ -14,25 +14,13 @@ var (
)
func runTitleEdit(cmd *cobra.Command, args []string) error {
- var err error
-
- if len(args) > 1 {
- return errors.New("Only one bug id is supported")
- }
-
- if len(args) == 0 {
- return errors.New("You must provide a bug id")
- }
-
backend, err := cache.NewRepoCache(repo)
if err != nil {
return err
}
defer backend.Close()
- prefix := args[0]
-
- b, err := backend.ResolveBugPrefix(prefix)
+ b, args, err := _select.ResolveBug(backend, args)
if err != nil {
return err
}
@@ -59,7 +47,7 @@ func runTitleEdit(cmd *cobra.Command, args []string) error {
}
var titleEditCmd = &cobra.Command{
- Use: "edit <id>",
+ Use: "edit [<id>]",
Short: "Edit a bug title",
RunE: runTitleEdit,
}