label.go

 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/spf13/cobra"
 9)
10
11func runLabel(cmd *cobra.Command, args []string) error {
12	backend, err := cache.NewRepoCache(repo)
13	if err != nil {
14		return err
15	}
16	defer backend.Close()
17
18	b, args, err := _select.ResolveBug(backend, args)
19	if err != nil {
20		return err
21	}
22
23	snap := b.Snapshot()
24
25	for _, l := range snap.Labels {
26		fmt.Println(l)
27	}
28
29	return nil
30}
31
32var labelCmd = &cobra.Command{
33	Use:   "label [<id>]",
34	Short: "Display, add or remove labels",
35	RunE:  runLabel,
36}
37
38func init() {
39	RootCmd.AddCommand(labelCmd)
40
41	labelCmd.Flags().SortFlags = false
42}