deselect.go

 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}