diff options
| author | Aiden Cline <[email protected]> | 2025-08-06 05:17:35 -0500 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-08-06 05:17:35 -0500 |
| commit | b8a0ecca981b59b4fd7f6a0c07f60790aa3fefbb (patch) | |
| tree | 12449afd63e014c0bd6e4c9334a113771acfec85 | |
| parent | ad10d3a1268d41596c508c8b88b3be9a86edfcea (diff) | |
| download | opencode-b8a0ecca981b59b4fd7f6a0c07f60790aa3fefbb.tar.gz opencode-b8a0ecca981b59b4fd7f6a0c07f60790aa3fefbb.zip | |
fix: highlight after text wrap (#1640)
| -rw-r--r-- | packages/tui/internal/components/chat/message.go | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go index ec908d5cf..aba758c1d 100644 --- a/packages/tui/internal/components/chat/message.go +++ b/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. |
