|
@@ -196,6 +196,8 @@ func renderText(
|
|
|
case opencode.UserMessage:
|
|
case opencode.UserMessage:
|
|
|
ts = time.UnixMilli(int64(casted.Time.Created))
|
|
ts = time.UnixMilli(int64(casted.Time.Created))
|
|
|
base := styles.NewStyle().Foreground(t.Text()).Background(backgroundColor)
|
|
base := styles.NewStyle().Foreground(t.Text()).Background(backgroundColor)
|
|
|
|
|
+
|
|
|
|
|
+ // Process @ mentions and styling with hyphen preservation
|
|
|
words := strings.Fields(text)
|
|
words := strings.Fields(text)
|
|
|
for i, word := range words {
|
|
for i, word := range words {
|
|
|
if strings.HasPrefix(word, "@") {
|
|
if strings.HasPrefix(word, "@") {
|
|
@@ -204,9 +206,14 @@ func renderText(
|
|
|
words[i] = base.Render(word + " ")
|
|
words[i] = base.Render(word + " ")
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- text = strings.Join(words, "")
|
|
|
|
|
- text = ansi.WordwrapWc(text, width-6, " -")
|
|
|
|
|
- content = base.Width(width - 6).Render(text)
|
|
|
|
|
|
|
+ styledText := strings.Join(words, "")
|
|
|
|
|
+
|
|
|
|
|
+ // Apply word wrapping with hyphen preservation
|
|
|
|
|
+ frameSize := util.GetMessageContainerFrame()
|
|
|
|
|
+ wrappedText := util.ProcessTextWithHyphens(styledText, func(t string) string {
|
|
|
|
|
+ return ansi.WordwrapWc(t, width-frameSize, " ")
|
|
|
|
|
+ })
|
|
|
|
|
+ content = base.Width(width - frameSize).Render(wrappedText)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
timestamp := ts.
|
|
timestamp := ts.
|
|
@@ -707,5 +714,4 @@ func renderDiagnostics(
|
|
|
// if !ok {
|
|
// if !ok {
|
|
|
// return ""
|
|
// return ""
|
|
|
// }
|
|
// }
|
|
|
-
|
|
|
|
|
}
|
|
}
|