From 857cc282d54af48d2b85b4e485c3b0829e9272b2 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Wed, 28 Jan 2026 16:09:18 -0500 Subject: [PATCH] chore(ui): string efficiency MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 💘 Generated with Crush Assisted-by: Kimi K2.5 via Crush --- internal/ui/chat/tools.go | 20 ++++++++++---------- internal/ui/styles/styles.go | 32 +++++++++++++++++--------------- 2 files changed, 27 insertions(+), 25 deletions(-) diff --git a/internal/ui/chat/tools.go b/internal/ui/chat/tools.go index 3ae403160b241eca6f5d74fb9841c2b10a7735b9..69ba5efff7bbe02c7b322ba940ecfefadf299eea 100644 --- a/internal/ui/chat/tools.go +++ b/internal/ui/chat/tools.go @@ -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") diff --git a/internal/ui/styles/styles.go b/internal/ui/styles/styles.go index 455658e7f4900196f7c03dcc1564ea734f780a64..474a50c9934ce9363d640a4dd95a2a49ea57efc5 100644 --- a/internal/ui/styles/styles.go +++ b/internal/ui/styles/styles.go @@ -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() }