Răsfoiți Sursa

fix: highlight after text wrap (#1640)

Aiden Cline 6 luni în urmă
părinte
comite
b8a0ecca98
1 a modificat fișierele cu 6 adăugiri și 3 ștergeri
  1. 6 3
      packages/tui/internal/components/chat/message.go

+ 6 - 3
packages/tui/internal/components/chat/message.go

@@ -223,12 +223,11 @@ func renderText(
 	case opencode.UserMessage:
 		ts = time.UnixMilli(int64(casted.Time.Created))
 		base := styles.NewStyle().Foreground(t.Text()).Background(backgroundColor)
-		text = ansi.WordwrapWc(text, width-6, " -")
 
 		var result strings.Builder
 		lastEnd := int64(0)
 
-		// Apply highlighting to filenames and base style to rest of text
+		// Apply highlighting to filenames and base style to rest of text BEFORE wrapping
 		textLen := int64(len(text))
 		for _, filePart := range fileParts {
 			highlight := base.Foreground(t.Secondary())
@@ -254,7 +253,11 @@ func renderText(
 		if lastEnd < textLen {
 			result.WriteString(base.Render(text[lastEnd:]))
 		}
-		content = base.Width(width - 6).Render(result.String())
+
+		// wrap styled text
+		styledText := result.String()
+		wrappedText := ansi.WordwrapWc(styledText, width-6, " -")
+		content = base.Width(width - 6).Render(wrappedText)
 	}
 
 	timestamp := ts.