fix: remove restriction for text content to be utf8

Kujtim Hoxha created

Change summary

internal/agent/tools/view.go | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)

Detailed changes

internal/agent/tools/view.go 🔗

@@ -10,7 +10,6 @@ import (
 	"os"
 	"path/filepath"
 	"strings"
-	"unicode/utf8"
 
 	"charm.land/fantasy"
 	"github.com/charmbracelet/crush/internal/csync"
@@ -164,12 +163,12 @@ func NewViewTool(lspClients *csync.Map[string, *lsp.Client], permissions permiss
 				return fantasy.NewImageResponse([]byte(encoded), mimeType), nil
 			}
 
-			// Read the file content
-			content, lineCount, err := readTextFile(filePath, params.Offset, params.Limit)
-			isValidUt8 := utf8.ValidString(content)
-			if !isValidUt8 {
-				return fantasy.NewTextErrorResponse("File content is not valid UTF-8"), nil
+			// Check if it's a text file before reading.
+			if !isTextFile(filePath) {
+				return fantasy.NewTextErrorResponse("File appears to not be a text file"), nil
 			}
+
+			content, lineCount, err := readTextFile(filePath, params.Offset, params.Limit)
 			if err != nil {
 				return fantasy.ToolResponse{}, fmt.Errorf("error reading file: %w", err)
 			}