summaryrefslogtreecommitdiffhomepage
path: root/packages/tui
diff options
context:
space:
mode:
authorDax Raad <[email protected]>2025-07-19 22:24:52 -0400
committerDax Raad <[email protected]>2025-07-19 22:25:15 -0400
commita8b4aed446c0a249e1b51eb7a4164dc3c433fdb9 (patch)
tree5ee6b27845b88c804ea309f06ba146c76474d680 /packages/tui
parent03de0c406d55146f142e14f91259fa1b127738b5 (diff)
downloadopencode-a8b4aed446c0a249e1b51eb7a4164dc3c433fdb9.tar.gz
opencode-a8b4aed446c0a249e1b51eb7a4164dc3c433fdb9.zip
fix bash tool rendering
Diffstat (limited to 'packages/tui')
-rw-r--r--packages/tui/internal/components/chat/message.go11
-rw-r--r--packages/tui/internal/components/chat/messages.go2
2 files changed, 9 insertions, 4 deletions
diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go
index 5539687f3..31b345766 100644
--- a/packages/tui/internal/components/chat/message.go
+++ b/packages/tui/internal/components/chat/message.go
@@ -264,6 +264,8 @@ func renderToolDetails(
toolCall opencode.ToolPart,
width int,
) string {
+ measure := util.Measure("chat.renderToolDetails")
+ defer measure("tool", toolCall.Tool)
ignoredTools := []string{"todoread"}
if slices.Contains(ignoredTools, toolCall.Tool) {
return ""
@@ -368,13 +370,14 @@ func renderToolDetails(
}
}
case "bash":
+ command := toolInputMap["command"].(string)
+ body = fmt.Sprintf("```console\n$ %s\n", command)
stdout := metadata["stdout"]
if stdout != nil {
- command := toolInputMap["command"].(string)
- out := ansi.Strip(fmt.Sprintf("%s", stdout))
- body = fmt.Sprintf("```console\n> %s\n%s```", command, out)
- body = util.ToMarkdown(body, width, backgroundColor)
+ body += ansi.Strip(fmt.Sprintf("%s", stdout))
}
+ body += "```"
+ body = util.ToMarkdown(body, width, backgroundColor)
case "webfetch":
if format, ok := toolInputMap["format"].(string); ok && result != nil {
body = *result
diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go
index 8cd0c1fde..932fecf65 100644
--- a/packages/tui/internal/components/chat/messages.go
+++ b/packages/tui/internal/components/chat/messages.go
@@ -234,6 +234,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
}
case opencode.AssistantMessage:
+ messageMeasure := util.Measure("messages.Render")
hasTextPart := false
for partIndex, p := range message.Parts {
switch part := p.(type) {
@@ -365,6 +366,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
}
}
}
+ messageMeasure()
}
error := ""