on main help sign in
fix(ui): preserve estimated usage percentage color
commit4fc17ddcae6a37eb14f824f81b3befbcd1da03fd authorGreg Slepak <contact@taoeffect.com> dateTue 12 May 2026, 18:17 (5 months ago) parent9595d1f
3 files changed+6−3
internal/ui/common/elements.go+1−1 internal/ui/common/elements_test.go+4−1 internal/ui/model/header.go+1−1
internal/ui/common/elements.go+1−1
@@ -118,7 +118,7 @@ func formatTokensAndCost(t *styles.Styles, tokens, contextWindow int64, cost flo
118118 formattedTokens = t.ModelInfo.TokenCount.Render(fmt.Sprintf("(%s)", formattedTokens))
119119 percentageText := fmt.Sprintf("%d%%", int(percentage))
120120 if estimated {
121− percentageText = t.ModelInfo.EstimatedUsagePrefix.Render("~") + percentageText
121+ percentageText = "~" + percentageText
122122 }
123123 formattedPercentage := t.ModelInfo.TokenPercentage.Render(percentageText)
124124 formattedTokens = fmt.Sprintf("%s %s", formattedPercentage, formattedTokens)
internal/ui/common/elements_test.go+4−1
@@ -1,6 +1,7 @@
11package common
22
33import (
4+ "strings"
45 "testing"
56
67 "github.com/charmbracelet/crush/internal/ui/styles"
@@ -13,11 +14,13 @@ func TestFormatTokensAndCostPrefixesEstimatedUsage(t *testing.T) {
1314
1415 sty := styles.CharmtonePantera()
1516
16− actual := ansi.Strip(formatTokensAndCost(&sty, 120, 1000, 0, true))
17+ rendered := formatTokensAndCost(&sty, 120, 1000, 0, true)
18+ actual := ansi.Strip(rendered)
1719
1820 require.Contains(t, actual, "~12%")
1921 require.Contains(t, actual, "(120)")
2022 require.Contains(t, actual, "$0.00")
23+ require.True(t, strings.Contains(rendered, sty.ModelInfo.TokenPercentage.Render("~12%")))
2124}
2225
2326func TestFormatTokensAndCostOmitsEstimatedPrefix(t *testing.T) {
internal/ui/model/header.go+1−1
@@ -150,7 +150,7 @@ func renderHeaderDetails(
150150 percentage := (float64(session.CompletionTokens+session.PromptTokens) / float64(model.ContextWindow)) * 100
151151 percentageText := fmt.Sprintf("%d%%", int(percentage))
152152 if session.EstimatedUsage {
153− percentageText = t.ModelInfo.EstimatedUsagePrefix.Render("~") + percentageText
153+ percentageText = "~" + percentageText
154154 }
155155 formattedPercentage := t.Header.Percentage.Render(percentageText)
156156 parts = append(parts, formattedPercentage)