on main help sign in
chore(chat): small improvements
14ff224Kujtim Hoxha
internal/ui/chat/messages.go+11−4
@@ -182,18 +182,25 @@ func GetMessageItems(sty *styles.Styles, msg *message.Message, toolResults map[s
182 return []MessageItem{}
182 return []MessageItem{}
183}
183}
184
184
185−func GetToolMessageItem(sty *styles.Styles, tc message.ToolCall, result *message.ToolResult, canceled bool) MessageItem {
185+// GetToolRenderer returns the appropriate ToolRenderFunc for a given tool call.
186+// this should be used for nested tools as well.
187+func GetToolRenderer(tc message.ToolCall) ToolRenderFunc {
186 renderFunc := DefaultToolRenderer
188 renderFunc := DefaultToolRenderer
187− // we only do full width for diffs (as far as I know)
188− cappedWidth := true
189 switch tc.Name {
189 switch tc.Name {
190 case tools.BashToolName:
190 case tools.BashToolName:
191 renderFunc = BashToolRenderer
191 renderFunc = BashToolRenderer
192 }
192 }
193+ return renderFunc
194+}
195+
196+// GetToolMessageItem creates a MessageItem for a tool call and its result.
197+func GetToolMessageItem(sty *styles.Styles, tc message.ToolCall, result *message.ToolResult, canceled bool) MessageItem {
198+ // we only do full width for diffs (as far as I know)
199+ cappedWidth := tc.Name != tools.EditToolName && tc.Name != tools.MultiEditToolName
193
200
194 return NewToolMessageItem(
201 return NewToolMessageItem(
195 sty,
202 sty,
196− renderFunc,
203+ GetToolRenderer(tc),
197 tc,
204 tc,
198 result,
205 result,
199 canceled,
206 canceled,