1package commands
2
3import (
4 "github.com/spf13/cobra"
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)
10
11func newDeselectCommand() *cobra.Command {
12 env := newEnv()
13
14 cmd := &cobra.Command{
15 Use: "deselect",
16 Short: "Clear the implicitly selected bug.",
17 Example: `git bug select 2f15
18git bug comment
19git bug status
20git bug deselect
21`,
22 PreRunE: loadRepo(env),
23 RunE: func(cmd *cobra.Command, args []string) error {
24 return runDeselect(env)
25 },
26 }
27
28 return cmd
29}
30
31func runDeselect(env *Env) error {
32 backend, err := cache.NewRepoCache(env.repo)
33 if err != nil {
34 return err
35 }
36 defer backend.Close()
37 interrupt.RegisterCleaner(backend.Close)
38
39 err = _select.Clear(backend)
40 if err != nil {
41 return err
42 }
43
44 return nil
45}