@@ -1119,7 +1119,7 @@ func (t *baseToolMessageItem) formatViewResultForCopy() string {
var result strings.Builder
if lang != "" {
- result.WriteString(fmt.Sprintf("```%s\n", lang))
+ fmt.Fprintf(&result, "```%s\n", lang)
} else {
result.WriteString("```\n")
}
@@ -1155,7 +1155,7 @@ func (t *baseToolMessageItem) formatEditResultForCopy() string {
}
diffContent, additions, removals := diff.GenerateDiff(meta.OldContent, meta.NewContent, fileName)
- result.WriteString(fmt.Sprintf("Changes: +%d -%d\n", additions, removals))
+ fmt.Fprintf(&result, "Changes: +%d -%d\n", additions, removals)
result.WriteString("```diff\n")
result.WriteString(diffContent)
result.WriteString("\n```")
@@ -1189,7 +1189,7 @@ func (t *baseToolMessageItem) formatMultiEditResultForCopy() string {
}
diffContent, additions, removals := diff.GenerateDiff(meta.OldContent, meta.NewContent, fileName)
- result.WriteString(fmt.Sprintf("Changes: +%d -%d\n", additions, removals))
+ fmt.Fprintf(&result, "Changes: +%d -%d\n", additions, removals)
result.WriteString("```diff\n")
result.WriteString(diffContent)
result.WriteString("\n```")
@@ -1247,9 +1247,9 @@ func (t *baseToolMessageItem) formatWriteResultForCopy() string {
}
var result strings.Builder
- result.WriteString(fmt.Sprintf("File: %s\n", fsext.PrettyPath(params.FilePath)))
+ fmt.Fprintf(&result, "File: %s\n", fsext.PrettyPath(params.FilePath))
if lang != "" {
- result.WriteString(fmt.Sprintf("```%s\n", lang))
+ fmt.Fprintf(&result, "```%s\n", lang)
} else {
result.WriteString("```\n")
}
@@ -1272,13 +1272,13 @@ func (t *baseToolMessageItem) formatFetchResultForCopy() string {
var result strings.Builder
if params.URL != "" {
- result.WriteString(fmt.Sprintf("URL: %s\n", params.URL))
+ fmt.Fprintf(&result, "URL: %s\n", params.URL)
}
if params.Format != "" {
- result.WriteString(fmt.Sprintf("Format: %s\n", params.Format))
+ fmt.Fprintf(&result, "Format: %s\n", params.Format)
}
if params.Timeout > 0 {
- result.WriteString(fmt.Sprintf("Timeout: %ds\n", params.Timeout))
+ fmt.Fprintf(&result, "Timeout: %ds\n", params.Timeout)
}
result.WriteString("\n")
@@ -1300,10 +1300,10 @@ func (t *baseToolMessageItem) formatAgenticFetchResultForCopy() string {
var result strings.Builder
if params.URL != "" {
- result.WriteString(fmt.Sprintf("URL: %s\n", params.URL))
+ fmt.Fprintf(&result, "URL: %s\n", params.URL)
}
if params.Prompt != "" {
- result.WriteString(fmt.Sprintf("Prompt: %s\n\n", params.Prompt))
+ fmt.Fprintf(&result, "Prompt: %s\n\n", params.Prompt)
}
result.WriteString("```markdown\n")
@@ -2,6 +2,7 @@ package styles
import (
"image/color"
+ "strings"
"charm.land/bubbles/v2/filepicker"
"charm.land/bubbles/v2/help"
@@ -1347,35 +1348,36 @@ func boolPtr(b bool) *bool { return &b }
func stringPtr(s string) *string { return &s }
func uintPtr(u uint) *uint { return &u }
func chromaStyle(style ansi.StylePrimitive) string {
- var s string
+ var s strings.Builder
if style.Color != nil {
- s = *style.Color
+ s.WriteString(*style.Color)
}
if style.BackgroundColor != nil {
- if s != "" {
- s += " "
+ if s.Len() > 0 {
+ s.WriteString(" ")
}
- s += "bg:" + *style.BackgroundColor
+ s.WriteString("bg:")
+ s.WriteString(*style.BackgroundColor)
}
if style.Italic != nil && *style.Italic {
- if s != "" {
- s += " "
+ if s.Len() > 0 {
+ s.WriteString(" ")
}
- s += "italic"
+ s.WriteString("italic")
}
if style.Bold != nil && *style.Bold {
- if s != "" {
- s += " "
+ if s.Len() > 0 {
+ s.WriteString(" ")
}
- s += "bold"
+ s.WriteString("bold")
}
if style.Underline != nil && *style.Underline {
- if s != "" {
- s += " "
+ if s.Len() > 0 {
+ s.WriteString(" ")
}
- s += "underline"
+ s.WriteString("underline")
}
- return s
+ return s.String()
}