@@ -11,6 +11,7 @@ import (
11
11
tea "github.com/charmbracelet/bubbletea"
12
12
"github.com/charmbracelet/log"
13
13
"github.com/charmbracelet/x/ansi"
14
+ "github.com/muesli/termenv"
14
15
15
16
"github.com/dlvhdr/diffnav/pkg/ui"
16
17
)
@@ -22,20 +23,34 @@ func main() {
22
23
}
23
24
24
25
if stat .Mode ()& os .ModeNamedPipe == 0 && stat .Size () == 0 {
25
- fmt .Println ("Try piping in some text. " )
26
- os .Exit (1 )
26
+ fmt .Println ("No diff, exiting " )
27
+ os .Exit (0 )
27
28
}
28
29
29
- var fileErr error
30
- logFile , fileErr := os . OpenFile ( "debug.log" , os . O_RDWR | os . O_CREATE | os . O_APPEND , 0666 )
31
- if fileErr == nil {
32
- log . SetOutput ( logFile )
33
- log . SetTimeFormat ( time . Kitchen )
34
- log . SetReportCaller ( true )
35
- log . SetLevel ( log . DebugLevel )
30
+ if os . Getenv ( "DEBUG" ) == "true" {
31
+ var fileErr error
32
+ logFile , fileErr := os . OpenFile ( "debug.log" , os . O_RDWR | os . O_CREATE | os . O_APPEND , 0666 )
33
+ if fileErr != nil {
34
+ fmt . Println ( "Error opening debug.log:" , fileErr )
35
+ os . Exit ( 1 )
36
+ }
36
37
defer logFile .Close ()
37
- log .SetOutput (logFile )
38
- log .Debug ("Starting diffnav, logging to debug.log" )
38
+
39
+ if fileErr == nil {
40
+ log .SetOutput (logFile )
41
+ log .SetTimeFormat (time .Kitchen )
42
+ log .SetReportCaller (true )
43
+ log .SetLevel (log .DebugLevel )
44
+
45
+ log .SetOutput (logFile )
46
+ log .SetColorProfile (termenv .TrueColor )
47
+ wd , err := os .Getwd ()
48
+ if err != nil {
49
+ fmt .Println ("Error getting current working dir" , err )
50
+ os .Exit (1 )
51
+ }
52
+ log .Debug ("🚀 Starting diffnav" , "logFile" , wd + string (os .PathSeparator )+ logFile .Name ())
53
+ }
39
54
}
40
55
41
56
reader := bufio .NewReader (os .Stdin )
@@ -53,15 +68,10 @@ func main() {
53
68
}
54
69
}
55
70
56
- if os .Getenv ("DEBUG" ) == "true" {
57
- logger , _ := tea .LogToFile ("debug.log" , "debug" )
58
- defer logger .Close ()
59
- }
60
-
61
71
input := ansi .Strip (b .String ())
62
72
if strings .TrimSpace (input ) == "" {
63
73
fmt .Println ("No input provided, exiting" )
64
- os .Exit (1 )
74
+ os .Exit (0 )
65
75
}
66
76
p := tea .NewProgram (ui .New (input ), tea .WithMouseAllMotion ())
67
77
0 commit comments