mirror of
https://github.com/aljazceru/opencode.git
synced 2025-12-31 22:54:20 +01:00
fix(tui): attachment highlighting issues in messages (#1534)
This commit is contained in:
@@ -217,15 +217,27 @@ func renderText(
|
||||
base := styles.NewStyle().Foreground(t.Text()).Background(backgroundColor)
|
||||
text = ansi.WordwrapWc(text, width-6, " -")
|
||||
|
||||
// Build list of attachment filenames for highlighting
|
||||
var result strings.Builder
|
||||
lastEnd := int64(0)
|
||||
|
||||
// Apply highlighting to filenames and base style to rest of text
|
||||
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))
|
||||
highlight := base.Foreground(t.Secondary())
|
||||
start, end := filePart.Source.Text.Start, filePart.Source.Text.End
|
||||
|
||||
if start > lastEnd {
|
||||
result.WriteString(base.Render(text[lastEnd:start]))
|
||||
}
|
||||
result.WriteString(highlight.Render(text[start:end]))
|
||||
|
||||
lastEnd = end
|
||||
}
|
||||
|
||||
content = base.Width(width - 6).Render(text)
|
||||
if lastEnd < int64(len(text)) {
|
||||
result.WriteString(base.Render(text[lastEnd:]))
|
||||
}
|
||||
|
||||
content = base.Width(width - 6).Render(result.String())
|
||||
}
|
||||
|
||||
timestamp := ts.
|
||||
|
||||
Reference in New Issue
Block a user