diff options
Diffstat (limited to 'commands/status_open.go')
-rw-r--r-- | commands/status_open.go | 39 |
1 files changed, 18 insertions, 21 deletions
diff --git a/commands/status_open.go b/commands/status_open.go index 1b1c426e..9dd9082c 100644 --- a/commands/status_open.go +++ b/commands/status_open.go @@ -1,21 +1,29 @@ package commands import ( - "github.com/MichaelMure/git-bug/cache" - "github.com/MichaelMure/git-bug/commands/select" - "github.com/MichaelMure/git-bug/util/interrupt" "github.com/spf13/cobra" + + "github.com/MichaelMure/git-bug/commands/select" ) -func runStatusOpen(cmd *cobra.Command, args []string) error { - backend, err := cache.NewRepoCache(repo) - if err != nil { - return err +func newStatusOpenCommand() *cobra.Command { + env := newEnv() + + cmd := &cobra.Command{ + Use: "open [<id>]", + Short: "Mark a bug as open.", + PreRunE: loadBackendEnsureUser(env), + PostRunE: closeBackend(env), + RunE: func(cmd *cobra.Command, args []string) error { + return runStatusOpen(env, args) + }, } - defer backend.Close() - interrupt.RegisterCleaner(backend.Close) - b, args, err := _select.ResolveBug(backend, args) + return cmd +} + +func runStatusOpen(env *Env, args []string) error { + b, args, err := _select.ResolveBug(env.backend, args) if err != nil { return err } @@ -27,14 +35,3 @@ func runStatusOpen(cmd *cobra.Command, args []string) error { return b.Commit() } - -var openCmd = &cobra.Command{ - Use: "open [<id>]", - Short: "Mark a bug as open.", - PreRunE: loadRepoEnsureUser, - RunE: runStatusOpen, -} - -func init() { - statusCmd.AddCommand(openCmd) -} |