@@ -9,14 +9,21 @@ import (
99)
1010
1111// RenderHistory renders the session history view with date grouping
12+ // When showFooter is true, uses \r\n for raw terminal mode
1213func RenderHistory (sessions []session.HistorySession , days int , showFooter bool ) {
14+ // Use \r\n when in interactive mode (showFooter=true means raw terminal)
15+ nl := "\n "
16+ if showFooter {
17+ nl = "\r \n "
18+ }
19+
1320 if len (sessions ) == 0 {
14- fmt .Printf ("No sessions found in the past %d days.\n " , days )
21+ fmt .Printf ("No sessions found in the past %d days.%s " , days , nl )
1522 return
1623 }
1724
1825 // Header
19- fmt .Printf ("%sSession History%s (past %d days)\n \n " , Bold , Reset , days )
26+ fmt .Printf ("%sSession History%s (past %d days)%s%s " , Bold , Reset , days , nl , nl )
2027
2128 // Group sessions by date
2229 var currentGroup string
@@ -29,10 +36,10 @@ func RenderHistory(sessions []session.HistorySession, days int, showFooter bool)
2936 // Print date header when group changes
3037 if group != currentGroup {
3138 if currentGroup != "" {
32- fmt .Println ( ) // Empty line between groups
39+ fmt .Print ( nl ) // Empty line between groups
3340 }
34- fmt .Printf ("%s━━━ %s %s%s\n " , Dim , group , strings .Repeat ("━" , 60 - len (group )), Reset )
35- fmt .Printf ("%-27s %-10s %-10s %-6s %s\n " , "PROJECT" , "BRANCH" , "DURATION" , "MSGS" , "CONTEXT" )
41+ fmt .Printf ("%s━━━ %s %s%s%s " , Dim , group , strings .Repeat ("━" , 60 - len (group )), Reset , nl )
42+ fmt .Printf ("%-27s %-10s %-10s %-6s %s%s " , "PROJECT" , "BRANCH" , "DURATION" , "MSGS" , "CONTEXT" , nl )
3643 currentGroup = group
3744 }
3845
@@ -45,23 +52,24 @@ func RenderHistory(sessions []session.HistorySession, days int, showFooter bool)
4552 context = "-"
4653 }
4754
48- fmt .Printf ("%-27s %s%-10s%s %-10s %-6d %s\n " ,
55+ fmt .Printf ("%-27s %s%-10s%s %-10s %-6d %s%s " ,
4956 truncate (s .Project , 27 ),
5057 Gray , truncate (s .GitBranch , 10 ), Reset ,
5158 duration ,
5259 s .MessageCount ,
53- truncate (context , 35 ))
60+ truncate (context , 35 ),
61+ nl )
5462
5563 totalDuration += s .Duration
5664 totalSessions ++
5765 }
5866
5967 // Footer with totals
60- fmt .Printf ("\n %s%s%s\n " , Dim , strings .Repeat ("─" , 70 ), Reset )
61- fmt .Printf ("%sTotal: %d sessions, %s%s\n " , Dim , totalSessions , formatDuration (totalDuration ), Reset )
68+ fmt .Printf ("%s%s%s%s%s " , nl , Dim , strings .Repeat ("─" , 70 ), Reset , nl )
69+ fmt .Printf ("%sTotal: %d sessions, %s%s%s " , Dim , totalSessions , formatDuration (totalDuration ), Reset , nl )
6270
6371 if showFooter {
64- fmt .Printf ("\n %sPress l : live view | Ctrl+C: quit%s\n " , Dim , Reset )
72+ fmt .Printf ("%s%sl : live view | Ctrl+C: quit%s%s " , nl , Dim , Reset , nl )
6573 }
6674}
6775
0 commit comments