aboutsummaryrefslogtreecommitdiffstats
path: root/commands/label.go
diff options
context:
space:
mode:
authorMichael Muré <batolettre@gmail.com>2022-09-10 11:09:19 +0200
committerMichael Muré <batolettre@gmail.com>2022-11-20 17:18:09 +0100
commitacc9a6f3a6df2961c3ae44352216d915cb9b5315 (patch)
treee159372673104ade1f15ddc1a84aa9da93e93552 /commands/label.go
parenta3fa445a9c76631c4cd16f93e1c1c68a954adef7 (diff)
downloadgit-bug-acc9a6f3a6df2961c3ae44352216d915cb9b5315.tar.gz
commands: reorg into different packages
Diffstat (limited to 'commands/label.go')
-rw-r--r--commands/label.go35
1 files changed, 14 insertions, 21 deletions
diff --git a/commands/label.go b/commands/label.go
index ff4d0151..70090d26 100644
--- a/commands/label.go
+++ b/commands/label.go
@@ -3,39 +3,32 @@ package commands
import (
"github.com/spf13/cobra"
- _select "github.com/MichaelMure/git-bug/commands/select"
+ "github.com/MichaelMure/git-bug/commands/execenv"
)
func newLabelCommand() *cobra.Command {
- env := newEnv()
+ env := execenv.NewEnv()
cmd := &cobra.Command{
- Use: "label [ID]",
- Short: "Display, add or remove labels to/from a bug.",
- PreRunE: loadBackend(env),
- RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error {
- return runLabel(env, args)
+ Use: "label",
+ Short: "List valid labels",
+ Long: `List valid labels.
+
+Note: in the future, a proper label policy could be implemented where valid labels are defined in a configuration file. Until that, the default behavior is to return the list of labels already used.`,
+ PreRunE: execenv.LoadBackend(env),
+ RunE: execenv.CloseBackend(env, func(cmd *cobra.Command, args []string) error {
+ return runLabel(env)
}),
- ValidArgsFunction: completeBug(env),
}
- cmd.AddCommand(newLabelAddCommand())
- cmd.AddCommand(newLabelLsCommand())
- cmd.AddCommand(newLabelRmCommand())
-
return cmd
}
-func runLabel(env *Env, args []string) error {
- b, _, err := _select.ResolveBug(env.backend, args)
- if err != nil {
- return err
- }
-
- snap := b.Snapshot()
+func runLabel(env *execenv.Env) error {
+ labels := env.Backend.ValidLabels()
- for _, l := range snap.Labels {
- env.out.Println(l)
+ for _, l := range labels {
+ env.Out.Println(l)
}
return nil