From d031c540ae050b9df81beffa32a319dcad78e5b6 Mon Sep 17 00:00:00 2001 From: Tai Groot Date: Fri, 11 Jul 2025 10:46:20 -0700 Subject: [PATCH] use readstring instead of bufio to copy behavior of tailinglibrary without token limitation --- cmd/logs.go | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/cmd/logs.go b/cmd/logs.go index e1cfde432b858afd070d50b2a9de1d4b4c0c1b17..94ba0509d27bb8cefdbf9ffcef65409f2074557a 100644 --- a/cmd/logs.go +++ b/cmd/logs.go @@ -4,9 +4,11 @@ import ( "bufio" "encoding/json" "fmt" + "io" "os" "path/filepath" "slices" + "strings" "time" "github.com/charmbracelet/crush/internal/config" @@ -64,13 +66,19 @@ var logsCmd = &cobra.Command{ } defer file.Close() - scanner := bufio.NewScanner(file) - for scanner.Scan() { - printLogLine(scanner.Text()) - } - - if err := scanner.Err(); err != nil { - return fmt.Errorf("failed to read log file: %v", err) + reader := bufio.NewReader(file) + for { + line, err := reader.ReadString('\n') + if err != nil { + if err == io.EOF && line != "" { + // Handle last line without newline + printLogLine(line) + } + break + } + // Remove trailing newline + line = strings.TrimSuffix(line, "\n") + printLogLine(line) } }