From dc829d75d01f040efad405f5c6ebd4eb40236982 Mon Sep 17 00:00:00 2001 From: Shunta Komatsu Date: Sun, 5 Jul 2020 22:26:40 +0900 Subject: [PATCH] :bug: Fix bug that some commands can not be used outside git repository --- cli/cli.go | 8 +++++--- cli/root.go | 8 +++++--- cmd/gmoji/cmd/cmd_copy.go | 2 +- cmd/gmoji/cmd/cmd_hook.go | 2 +- cmd/gmoji/cmd/cmd_init.go | 2 +- cmd/gmoji/cmd/cmd_list.go | 2 +- cmd/gmoji/cmd/cmd_root.go | 2 +- 7 files changed, 15 insertions(+), 11 deletions(-) diff --git a/cli/cli.go b/cli/cli.go index cdd4b20..7ee0ad6 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -17,6 +17,8 @@ const ( // CLI represents this application itself. type CLI struct { + // CheckGit checks if a git repository exists. + CheckGit bool // Clipboard doesn't commit, but copies the commit message to the clipboard. Clipboard bool // HookPath is the path to the file to write the commit message to. @@ -24,9 +26,9 @@ type CLI struct { } // NewCLI returns a new CLI. -func NewCLI(clipboard bool, hook string) (*CLI, error) { - c := &CLI{Clipboard: clipboard, HookPath: hook} - if hook == "" { +func NewCLI(checkGit bool, clipboard bool, hook string) (*CLI, error) { + c := &CLI{CheckGit: checkGit, Clipboard: clipboard, HookPath: hook} + if c.CheckGit && hook == "" { p, err := c.hookPath() if err != nil { return nil, err diff --git a/cli/root.go b/cli/root.go index c67129b..e7057c6 100644 --- a/cli/root.go +++ b/cli/root.go @@ -11,9 +11,11 @@ import ( // Run runs CLI. func (c CLI) Run() error { - _, err := c.GitRoot() - if err != nil { - return err + if c.CheckGit { + _, err := c.GitRoot() + if err != nil { + return err + } } p, err := c.ListPath() diff --git a/cmd/gmoji/cmd/cmd_copy.go b/cmd/gmoji/cmd/cmd_copy.go index 16f30bf..9c62439 100644 --- a/cmd/gmoji/cmd/cmd_copy.go +++ b/cmd/gmoji/cmd/cmd_copy.go @@ -9,7 +9,7 @@ import ( ) func runCopy(cmd *cobra.Command, args []string) error { - c, err := cli.NewCLI(true, "") + c, err := cli.NewCLI(false, true, "") if err != nil { return err } diff --git a/cmd/gmoji/cmd/cmd_hook.go b/cmd/gmoji/cmd/cmd_hook.go index a3c6aa1..41981b1 100644 --- a/cmd/gmoji/cmd/cmd_hook.go +++ b/cmd/gmoji/cmd/cmd_hook.go @@ -6,7 +6,7 @@ import ( ) func runHook(cmd *cobra.Command, args []string) error { - c, err := cli.NewCLI(false, "") + c, err := cli.NewCLI(true, false, "") if err != nil { return err } diff --git a/cmd/gmoji/cmd/cmd_init.go b/cmd/gmoji/cmd/cmd_init.go index fcf38e5..4eae363 100644 --- a/cmd/gmoji/cmd/cmd_init.go +++ b/cmd/gmoji/cmd/cmd_init.go @@ -6,7 +6,7 @@ import ( ) func runInit(cmd *cobra.Command, args []string) error { - c, err := cli.NewCLI(false, "") + c, err := cli.NewCLI(false, false, "") if err != nil { return err } diff --git a/cmd/gmoji/cmd/cmd_list.go b/cmd/gmoji/cmd/cmd_list.go index e6f9d25..3abc2be 100644 --- a/cmd/gmoji/cmd/cmd_list.go +++ b/cmd/gmoji/cmd/cmd_list.go @@ -6,7 +6,7 @@ import ( ) func runList(cmd *cobra.Command, args []string) error { - c, err := cli.NewCLI(false, "") + c, err := cli.NewCLI(false, false, "") if err != nil { return err } diff --git a/cmd/gmoji/cmd/cmd_root.go b/cmd/gmoji/cmd/cmd_root.go index 7c97a43..3f4cc08 100644 --- a/cmd/gmoji/cmd/cmd_root.go +++ b/cmd/gmoji/cmd/cmd_root.go @@ -15,7 +15,7 @@ var ( ) func runRoot(cmd *cobra.Command, args []string) error { - c, err := cli.NewCLI(false, rootOptions.Hook) + c, err := cli.NewCLI(true, false, rootOptions.Hook) if err != nil { return err }