summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--packages/tui/internal/components/chat/message.go21
-rw-r--r--packages/tui/internal/components/chat/messages.go3
2 files changed, 12 insertions, 12 deletions
diff --git a/packages/tui/internal/components/chat/message.go b/packages/tui/internal/components/chat/message.go
index ff361e76e..5c92dee5c 100644
--- a/packages/tui/internal/components/chat/message.go
+++ b/packages/tui/internal/components/chat/message.go
@@ -182,6 +182,7 @@ func renderText(
showToolDetails bool,
width int,
extra string,
+ fileParts []opencode.FilePart,
toolCalls ...opencode.ToolPart,
) string {
t := theme.CurrentTheme()
@@ -197,19 +198,15 @@ func renderText(
ts = time.UnixMilli(int64(casted.Time.Created))
base := styles.NewStyle().Foreground(t.Text()).Background(backgroundColor)
text = ansi.WordwrapWc(text, width-6, " -")
- lines := strings.Split(text, "\n")
- for i, line := range lines {
- words := strings.Fields(line)
- for i, word := range words {
- if strings.HasPrefix(word, "@") {
- words[i] = base.Foreground(t.Secondary()).Render(word + " ")
- } else {
- words[i] = base.Render(word + " ")
- }
- }
- lines[i] = strings.Join(words, "")
+
+ // Build list of attachment filenames for highlighting
+ for _, filePart := range fileParts {
+ atFilename := "@" + filePart.Filename
+ // Find and highlight complete @filename references
+ highlightStyle := base.Foreground(t.Secondary())
+ text = strings.ReplaceAll(text, atFilename, highlightStyle.Render(atFilename))
}
- text = strings.Join(lines, "\n")
+
content = base.Width(width - 6).Render(text)
}
diff --git a/packages/tui/internal/components/chat/messages.go b/packages/tui/internal/components/chat/messages.go
index 23de97ed2..e675a35d2 100644
--- a/packages/tui/internal/components/chat/messages.go
+++ b/packages/tui/internal/components/chat/messages.go
@@ -347,6 +347,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
m.showToolDetails,
width,
files,
+ fileParts,
)
content = lipgloss.PlaceHorizontal(
m.width,
@@ -424,6 +425,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
m.showToolDetails,
width,
"",
+ []opencode.FilePart{},
toolCallParts...,
)
content = lipgloss.PlaceHorizontal(
@@ -443,6 +445,7 @@ func (m *messagesComponent) renderView() tea.Cmd {
m.showToolDetails,
width,
"",
+ []opencode.FilePart{},
toolCallParts...,
)
content = lipgloss.PlaceHorizontal(