on main help sign in
chore(ui): string efficiency

๐Ÿ’˜ Generated with Crush Assisted-by: Kimi K2.5 via Crush <crush@charm.land>

commit857cc282d54af48d2b85b4e485c3b0829e9272b2 authorChristian Rocha <christian@rocha.is> dateWed 28 Jan 2026, 16:09 (9 months ago) parentac03cb0
2 files changed+27โˆ’25
internal/ui/chat/tools.go+10โˆ’10 internal/ui/styles/styles.go+17โˆ’15
internal/ui/chat/tools.go+10โˆ’10
@@ -1119,7 +1119,7 @@ func (t *baseToolMessageItem) formatViewResultForCopy() string {
11191119
11201120 var result strings.Builder
11211121 if lang != "" {
1122โˆ’ result.WriteString(fmt.Sprintf("```%s\n", lang))
1122+ fmt.Fprintf(&result, "```%s\n", lang)
11231123 } else {
11241124 result.WriteString("```\n")
11251125 }
@@ -1155,7 +1155,7 @@ func (t *baseToolMessageItem) formatEditResultForCopy() string {
11551155 }
11561156 diffContent, additions, removals := diff.GenerateDiff(meta.OldContent, meta.NewContent, fileName)
11571157
1158โˆ’ result.WriteString(fmt.Sprintf("Changes: +%d -%d\n", additions, removals))
1158+ fmt.Fprintf(&result, "Changes: +%d -%d\n", additions, removals)
11591159 result.WriteString("```diff\n")
11601160 result.WriteString(diffContent)
11611161 result.WriteString("\n```")
@@ -1189,7 +1189,7 @@ func (t *baseToolMessageItem) formatMultiEditResultForCopy() string {
11891189 }
11901190 diffContent, additions, removals := diff.GenerateDiff(meta.OldContent, meta.NewContent, fileName)
11911191
1192โˆ’ result.WriteString(fmt.Sprintf("Changes: +%d -%d\n", additions, removals))
1192+ fmt.Fprintf(&result, "Changes: +%d -%d\n", additions, removals)
11931193 result.WriteString("```diff\n")
11941194 result.WriteString(diffContent)
11951195 result.WriteString("\n```")
@@ -1247,9 +1247,9 @@ func (t *baseToolMessageItem) formatWriteResultForCopy() string {
12471247 }
12481248
12491249 var result strings.Builder
1250โˆ’ result.WriteString(fmt.Sprintf("File: %s\n", fsext.PrettyPath(params.FilePath)))
1250+ fmt.Fprintf(&result, "File: %s\n", fsext.PrettyPath(params.FilePath))
12511251 if lang != "" {
1252โˆ’ result.WriteString(fmt.Sprintf("```%s\n", lang))
1252+ fmt.Fprintf(&result, "```%s\n", lang)
12531253 } else {
12541254 result.WriteString("```\n")
12551255 }
@@ -1272,13 +1272,13 @@ func (t *baseToolMessageItem) formatFetchResultForCopy() string {
12721272
12731273 var result strings.Builder
12741274 if params.URL != "" {
1275โˆ’ result.WriteString(fmt.Sprintf("URL: %s\n", params.URL))
1275+ fmt.Fprintf(&result, "URL: %s\n", params.URL)
12761276 }
12771277 if params.Format != "" {
1278โˆ’ result.WriteString(fmt.Sprintf("Format: %s\n", params.Format))
1278+ fmt.Fprintf(&result, "Format: %s\n", params.Format)
12791279 }
12801280 if params.Timeout > 0 {
1281โˆ’ result.WriteString(fmt.Sprintf("Timeout: %ds\n", params.Timeout))
1281+ fmt.Fprintf(&result, "Timeout: %ds\n", params.Timeout)
12821282 }
12831283 result.WriteString("\n")
12841284
@@ -1300,10 +1300,10 @@ func (t *baseToolMessageItem) formatAgenticFetchResultForCopy() string {
13001300
13011301 var result strings.Builder
13021302 if params.URL != "" {
1303โˆ’ result.WriteString(fmt.Sprintf("URL: %s\n", params.URL))
1303+ fmt.Fprintf(&result, "URL: %s\n", params.URL)
13041304 }
13051305 if params.Prompt != "" {
1306โˆ’ result.WriteString(fmt.Sprintf("Prompt: %s\n\n", params.Prompt))
1306+ fmt.Fprintf(&result, "Prompt: %s\n\n", params.Prompt)
13071307 }
13081308
13091309 result.WriteString("```markdown\n")
internal/ui/styles/styles.go+17โˆ’15
@@ -2,6 +2,7 @@ package styles
22
33import (
44 "image/color"
5+ "strings"
56
67 "charm.land/bubbles/v2/filepicker"
78 "charm.land/bubbles/v2/help"
@@ -1347,35 +1348,36 @@ func boolPtr(b bool) *bool { return &b }
13471348func stringPtr(s string) *string { return &s }
13481349func uintPtr(u uint) *uint { return &u }
13491350func chromaStyle(style ansi.StylePrimitive) string {
1350โˆ’ var s string
1351+ var s strings.Builder
13511352
13521353 if style.Color != nil {
1353โˆ’ s = *style.Color
1354+ s.WriteString(*style.Color)
13541355 }
13551356 if style.BackgroundColor != nil {
1356โˆ’ if s != "" {
1357โˆ’ s += " "
1357+ if s.Len() > 0 {
1358+ s.WriteString(" ")
13581359 }
1359โˆ’ s += "bg:" + *style.BackgroundColor
1360+ s.WriteString("bg:")
1361+ s.WriteString(*style.BackgroundColor)
13601362 }
13611363 if style.Italic != nil && *style.Italic {
1362โˆ’ if s != "" {
1363โˆ’ s += " "
1364+ if s.Len() > 0 {
1365+ s.WriteString(" ")
13641366 }
1365โˆ’ s += "italic"
1367+ s.WriteString("italic")
13661368 }
13671369 if style.Bold != nil && *style.Bold {
1368โˆ’ if s != "" {
1369โˆ’ s += " "
1370+ if s.Len() > 0 {
1371+ s.WriteString(" ")
13701372 }
1371โˆ’ s += "bold"
1373+ s.WriteString("bold")
13721374 }
13731375 if style.Underline != nil && *style.Underline {
1374โˆ’ if s != "" {
1375โˆ’ s += " "
1376+ if s.Len() > 0 {
1377+ s.WriteString(" ")
13761378 }
1377โˆ’ s += "underline"
1379+ s.WriteString("underline")
13781380 }
13791381
1380โˆ’ return s
1382+ return s.String()
13811383}