diff --git a/internal/ui/chat/messages.go b/internal/ui/chat/messages.go index 5dac49c08d32ae2315f9d8096f0410b2511ecb04..8b14e91ad76e866662d2def273fb5cffd3328f95 100644 --- a/internal/ui/chat/messages.go +++ b/internal/ui/chat/messages.go @@ -221,7 +221,12 @@ func (a *AssistantInfoItem) RawRender(width int) string { // Render implements MessageItem. func (a *AssistantInfoItem) Render(width int) string { - return a.sty.Chat.Message.SectionHeader.Render(a.RawRender(width)) + prefix := a.sty.Chat.Message.SectionHeader.Render() + lines := strings.Split(a.RawRender(width), "\n") + for i, line := range lines { + lines[i] = prefix + line + } + return strings.Join(lines, "\n") } func (a *AssistantInfoItem) renderContent(width int) string { diff --git a/internal/ui/chat/tools.go b/internal/ui/chat/tools.go index f7702cc1fe516bb3dee7d57ce15fed050299019f..619aad5a04e59aa66fb9d190fa25686db07484f9 100644 --- a/internal/ui/chat/tools.go +++ b/internal/ui/chat/tools.go @@ -321,16 +321,19 @@ func (t *baseToolMessageItem) RawRender(width int) string { // Render renders the tool message item at the given width. func (t *baseToolMessageItem) Render(width int) string { - style := t.sty.Chat.Message.ToolCallBlurred - if t.focused { - style = t.sty.Chat.Message.ToolCallFocused - } - + var prefix string if t.isCompact { - style = t.sty.Chat.Message.ToolCallCompact + prefix = t.sty.Chat.Message.ToolCallCompact.Render() + } else if t.focused { + prefix = t.sty.Chat.Message.ToolCallFocused.Render() + } else { + prefix = t.sty.Chat.Message.ToolCallBlurred.Render() } - - return style.Render(t.RawRender(width)) + lines := strings.Split(t.RawRender(width), "\n") + for i, ln := range lines { + lines[i] = prefix + ln + } + return strings.Join(lines, "\n") } // ToolCall returns the tool call associated with this message item. diff --git a/internal/ui/chat/user.go b/internal/ui/chat/user.go index 91211590ce66dd0dd7edbde03becdf469e26b521..a2ccf9d476e686818b284a074f462a9f65012edc 100644 --- a/internal/ui/chat/user.go +++ b/internal/ui/chat/user.go @@ -70,11 +70,17 @@ func (m *UserMessageItem) RawRender(width int) string { // Render implements MessageItem. func (m *UserMessageItem) Render(width int) string { - style := m.sty.Chat.Message.UserBlurred + var prefix string if m.focused { - style = m.sty.Chat.Message.UserFocused + prefix = m.sty.Chat.Message.UserFocused.Render() + } else { + prefix = m.sty.Chat.Message.UserBlurred.Render() + } + lines := strings.Split(m.RawRender(width), "\n") + for i, line := range lines { + lines[i] = prefix + line } - return style.Render(m.RawRender(width)) + return strings.Join(lines, "\n") } // ID implements MessageItem.