1package commands
2
3import (
4 "fmt"
5
6 "github.com/MichaelMure/git-bug/cache"
7 "github.com/MichaelMure/git-bug/commands/select"
8 "github.com/MichaelMure/git-bug/util/interrupt"
9 "github.com/spf13/cobra"
10)
11
12func runLabelRm(cmd *cobra.Command, args []string) error {
13 backend, err := cache.NewRepoCache(repo)
14 if err != nil {
15 return err
16 }
17 defer backend.Close()
18 interrupt.RegisterCleaner(backend.Close)
19
20 b, args, err := _select.ResolveBug(backend, args)
21 if err != nil {
22 return err
23 }
24
25 changes, _, err := b.ChangeLabels(nil, args)
26
27 for _, change := range changes {
28 fmt.Println(change)
29 }
30
31 if err != nil {
32 return err
33 }
34
35 return b.Commit()
36}
37
38var labelRmCmd = &cobra.Command{
39 Use: "rm [<id>] <label>[...]",
40 Short: "Remove a label",
41 PreRunE: loadRepo,
42 RunE: runLabelRm,
43}
44
45func init() {
46 labelCmd.AddCommand(labelRmCmd)
47}