1package commands
2
3import (
4 _select "github.com/MichaelMure/git-bug/commands/select"
5 "github.com/spf13/cobra"
6)
7
8func newStatusCommand() *cobra.Command {
9 env := newEnv()
10
11 cmd := &cobra.Command{
12 Use: "status [ID]",
13 Short: "Display or change a bug status.",
14 PreRunE: loadBackend(env),
15 RunE: closeBackend(env, func(cmd *cobra.Command, args []string) error {
16 return runStatus(env, args)
17 }),
18 ValidArgsFunction: completeBug(env),
19 }
20
21 cmd.AddCommand(newStatusCloseCommand())
22 cmd.AddCommand(newStatusOpenCommand())
23
24 return cmd
25}
26
27func runStatus(env *Env, args []string) error {
28 b, args, err := _select.ResolveBug(env.backend, args)
29 if err != nil {
30 return err
31 }
32
33 snap := b.Snapshot()
34
35 env.out.Println(snap.Status)
36
37 return nil
38}