diff --git a/internal/tui/components/chat/messages/messages.go b/internal/tui/components/chat/messages/messages.go index 078caf7dcd941eebab7d1a2989b25539c41989e4..bff149c72807f637a58a6d14878b3ac209f05541 100644 --- a/internal/tui/components/chat/messages/messages.go +++ b/internal/tui/components/chat/messages/messages.go @@ -252,6 +252,7 @@ func (m *messageCmp) renderThinkingContent() string { m.thinkingViewport.SetWidth(m.textWidth()) m.thinkingViewport.SetContent(fullContent) m.thinkingViewport.GotoBottom() + finishReason := m.message.FinishPart() var footer string if reasoningContent.StartedAt > 0 { duration := m.message.ThinkingDuration() @@ -263,6 +264,8 @@ func (m *messageCmp) renderThinkingContent() string { NoIcon: true, } footer = t.S().Base.PaddingLeft(1).Render(core.Status(opts, m.textWidth()-1)) + } else if finishReason != nil && finishReason.Reason == message.FinishReasonCanceled { + footer = t.S().Base.PaddingLeft(1).Render(m.toMarkdown("*Canceled*")) } else { footer = m.anim.View() } diff --git a/internal/tui/components/chat/sidebar/sidebar.go b/internal/tui/components/chat/sidebar/sidebar.go index c4df4edac10b24d15c09b6059fcb97a15d8b97b3..3dd090d598341658c919f50de61ec0a4f3f7186f 100644 --- a/internal/tui/components/chat/sidebar/sidebar.go +++ b/internal/tui/components/chat/sidebar/sidebar.go @@ -27,6 +27,8 @@ import ( "github.com/charmbracelet/crush/internal/version" "github.com/charmbracelet/lipgloss/v2" "github.com/charmbracelet/x/ansi" + "golang.org/x/text/cases" + "golang.org/x/text/language" ) type FileHistory struct { @@ -905,7 +907,8 @@ func (s *sidebarCmp) currentModelBlock() string { if selectedModel.ReasoningEffort != "" { reasoningEffort = selectedModel.ReasoningEffort } - parts = append(parts, reasoningInfoStyle.Render(fmt.Sprintf("Reasoning %s", reasoningEffort))) + formatter := cases.Title(language.English) + parts = append(parts, reasoningInfoStyle.Render(formatter.String(fmt.Sprintf("Reasoning %s", reasoningEffort)))) case provider.TypeAnthropic: if selectedModel.Think { parts = append(parts, reasoningInfoStyle.Render("Thinking on"))