@@ -4,9 +4,11 @@ import (
44 "bufio"
55 "encoding/json"
66 "fmt"
7+ "io"
78 "os"
89 "path/filepath"
910 "slices"
11+ "strings"
1012 "time"
1113
1214 "github.com/charmbracelet/crush/internal/config"
@@ -64,13 +66,19 @@ var logsCmd = &cobra.Command{
6466 }
6567 defer file.Close()
6668
67− scanner := bufio.NewScanner(file)
68− for scanner.Scan() {
69− printLogLine(scanner.Text())
70− }
71−
72− if err := scanner.Err(); err != nil {
73− return fmt.Errorf("failed to read log file: %v", err)
69+ reader := bufio.NewReader(file)
70+ for {
71+ line, err := reader.ReadString('\n')
72+ if err != nil {
73+ if err == io.EOF && line != "" {
74+ // Handle last line without newline
75+ printLogLine(line)
76+ }
77+ break
78+ }
79+ // Remove trailing newline
80+ line = strings.TrimSuffix(line, "\n")
81+ printLogLine(line)
7482 }
7583 }
7684