summaryrefslogtreecommitdiffstats
path: root/main.go
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2018-06-05 19:32:03 +1000
committerJesse Duffield <jessedduffield@gmail.com>2018-06-05 19:32:03 +1000
commit13781438897ed8e0e29e750804ce8c26cd560533 (patch)
treedcafd4a8ebe83fc2500763fe8c07b4a7ce06a299 /main.go
parent0d2076c57c217768133a932f579e7a8e687392d1 (diff)
move log commands into main file
Diffstat (limited to 'main.go')
-rw-r--r--main.go37
1 files changed, 37 insertions, 0 deletions
diff --git a/main.go b/main.go
index 1ca5357da..a84700ccf 100644
--- a/main.go
+++ b/main.go
@@ -3,7 +3,12 @@ package main
import (
"flag"
"fmt"
+ "log"
+ "os"
+ "os/user"
"time"
+
+ "github.com/fatih/color"
)
var (
@@ -11,6 +16,38 @@ var (
debugging bool
)
+func homeDirectory() string {
+ usr, err := user.Current()
+ if err != nil {
+ log.Fatal(err)
+ }
+ return usr.HomeDir
+}
+
+func devLog(objects ...interface{}) {
+ localLog(color.FgWhite, homeDirectory()+"/go/src/github.com/jesseduffield/lazygit/development.log", objects...)
+}
+
+func colorLog(colour color.Attribute, objects ...interface{}) {
+ localLog(colour, homeDirectory()+"/go/src/github.com/jesseduffield/lazygit/development.log", objects...)
+}
+
+func commandLog(objects ...interface{}) {
+ localLog(color.FgWhite, homeDirectory()+"/go/src/github.com/jesseduffield/lazygit/commands.log", objects...)
+}
+
+func localLog(colour color.Attribute, path string, objects ...interface{}) {
+ if !debugging {
+ return
+ }
+ f, _ := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, 0644)
+ defer f.Close()
+ for _, object := range objects {
+ colorFunction := color.New(colour).SprintFunc()
+ f.WriteString(colorFunction(fmt.Sprint(object)) + "\n")
+ }
+}
+
func main() {
debuggingPointer := flag.Bool("debug", false, "a boolean")
flag.Parse()