on main help sign in
use readstring instead of bufio to copy behavior of tailinglibrary without token limitation
d031c54Tai Groot
cmd/logs.go+15−7
@@ -4,9 +4,11 @@ import (
4 "bufio"
4 "bufio"
5 "encoding/json"
5 "encoding/json"
6 "fmt"
6 "fmt"
7+ "io"
7 "os"
8 "os"
8 "path/filepath"
9 "path/filepath"
9 "slices"
10 "slices"
11+ "strings"
10 "time"
12 "time"
11
13
12 "github.com/charmbracelet/crush/internal/config"
14 "github.com/charmbracelet/crush/internal/config"
@@ -64,13 +66,19 @@ var logsCmd = &cobra.Command{
64 }
66 }
65 defer file.Close()
67 defer file.Close()
66
68
67− scanner := bufio.NewScanner(file)
69+ reader := bufio.NewReader(file)
68− for scanner.Scan() {
70+ for {
69− printLogLine(scanner.Text())
71+ line, err := reader.ReadString('\n')
70− }
71−
72− if err := scanner.Err(); err != nil {
72+ if err != nil {
73− return fmt.Errorf("failed to read log file: %v", err)
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)
74 }
82 }
75 }
83 }
76
84