aboutsummaryrefslogtreecommitdiffstats
path: root/commands/label_rm.go
diff options
context:
space:
mode:
Diffstat (limited to 'commands/label_rm.go')
-rw-r--r--commands/label_rm.go40
1 files changed, 17 insertions, 23 deletions
diff --git a/commands/label_rm.go b/commands/label_rm.go
index 11300c78..445a56a4 100644
--- a/commands/label_rm.go
+++ b/commands/label_rm.go
@@ -1,24 +1,29 @@
package commands
import (
- "fmt"
-
"github.com/spf13/cobra"
- "github.com/MichaelMure/git-bug/cache"
"github.com/MichaelMure/git-bug/commands/select"
- "github.com/MichaelMure/git-bug/util/interrupt"
)
-func runLabelRm(cmd *cobra.Command, args []string) error {
- backend, err := cache.NewRepoCache(repo)
- if err != nil {
- return err
+func newLabelRmCommand() *cobra.Command {
+ env := newEnv()
+
+ cmd := &cobra.Command{
+ Use: "rm [<id>] <label>[...]",
+ Short: "Remove a label from a bug.",
+ PreRunE: loadBackend(env),
+ PostRunE: closeBackend(env),
+ RunE: func(cmd *cobra.Command, args []string) error {
+ return runLabelRm(env, args)
+ },
}
- defer backend.Close()
- interrupt.RegisterCleaner(backend.Close)
- b, args, err := _select.ResolveBug(backend, args)
+ return cmd
+}
+
+func runLabelRm(env *Env, args []string) error {
+ b, args, err := _select.ResolveBug(env.backend, args)
if err != nil {
return err
}
@@ -26,7 +31,7 @@ func runLabelRm(cmd *cobra.Command, args []string) error {
changes, _, err := b.ChangeLabels(nil, args)
for _, change := range changes {
- fmt.Println(change)
+ env.out.Println(change)
}
if err != nil {
@@ -35,14 +40,3 @@ func runLabelRm(cmd *cobra.Command, args []string) error {
return b.Commit()
}
-
-var labelRmCmd = &cobra.Command{
- Use: "rm [<id>] <label>[...]",
- Short: "Remove a label from a bug.",
- PreRunE: loadRepo,
- RunE: runLabelRm,
-}
-
-func init() {
- labelCmd.AddCommand(labelRmCmd)
-}