on main help sign in
fix(ui): apply the message style to each line of the message items
12a6372Ayman Bagabas
internal/ui/chat/messages.go+6−1
@@ -221,7 +221,12 @@ func (a *AssistantInfoItem) RawRender(width int) string {
221
221
222// Render implements MessageItem.
222// Render implements MessageItem.
223func (a *AssistantInfoItem) Render(width int) string {
223func (a *AssistantInfoItem) Render(width int) string {
224− return a.sty.Chat.Message.SectionHeader.Render(a.RawRender(width))
224+ prefix := a.sty.Chat.Message.SectionHeader.Render()
225+ lines := strings.Split(a.RawRender(width), "\n")
226+ for i, line := range lines {
227+ lines[i] = prefix + line
228+ }
229+ return strings.Join(lines, "\n")
225}
230}
226
231
227func (a *AssistantInfoItem) renderContent(width int) string {
232func (a *AssistantInfoItem) renderContent(width int) string {
internal/ui/chat/tools.go+11−8
@@ -321,16 +321,19 @@ func (t *baseToolMessageItem) RawRender(width int) string {
321
321
322// Render renders the tool message item at the given width.
322// Render renders the tool message item at the given width.
323func (t *baseToolMessageItem) Render(width int) string {
323func (t *baseToolMessageItem) Render(width int) string {
324− style := t.sty.Chat.Message.ToolCallBlurred
324+ var prefix string
325− if t.focused {
326− style = t.sty.Chat.Message.ToolCallFocused
327− }
328−
329 if t.isCompact {
325 if t.isCompact {
330− style = t.sty.Chat.Message.ToolCallCompact
326+ prefix = t.sty.Chat.Message.ToolCallCompact.Render()
327+ } else if t.focused {
328+ prefix = t.sty.Chat.Message.ToolCallFocused.Render()
329+ } else {
330+ prefix = t.sty.Chat.Message.ToolCallBlurred.Render()
331 }
331 }
332−
333− return style.Render(t.RawRender(width))
332+ lines := strings.Split(t.RawRender(width), "\n")
333+ for i, ln := range lines {
334+ lines[i] = prefix + ln
335+ }
336+ return strings.Join(lines, "\n")
334}
337}
335
338
336// ToolCall returns the tool call associated with this message item.
339// ToolCall returns the tool call associated with this message item.
internal/ui/chat/user.go+9−3
@@ -70,11 +70,17 @@ func (m *UserMessageItem) RawRender(width int) string {
70
70
71// Render implements MessageItem.
71// Render implements MessageItem.
72func (m *UserMessageItem) Render(width int) string {
72func (m *UserMessageItem) Render(width int) string {
73− style := m.sty.Chat.Message.UserBlurred
73+ var prefix string
74 if m.focused {
74 if m.focused {
75− style = m.sty.Chat.Message.UserFocused
75+ prefix = m.sty.Chat.Message.UserFocused.Render()
76+ } else {
77+ prefix = m.sty.Chat.Message.UserBlurred.Render()
78+ }
79+ lines := strings.Split(m.RawRender(width), "\n")
80+ for i, line := range lines {
81+ lines[i] = prefix + line
76 }
82 }
77− return style.Render(m.RawRender(width))
83+ return strings.Join(lines, "\n")
78}
84}
79
85
80// ID implements MessageItem.
86// ID implements MessageItem.