summaryrefslogtreecommitdiffhomepage
path: root/packages/tui/internal/app
diff options
context:
space:
mode:
authorYtzhak <[email protected]>2025-08-18 06:55:01 -0400
committerGitHub <[email protected]>2025-08-18 05:55:01 -0500
commit667ff90dd6be20bf19d5424a80d57559d38352f5 (patch)
tree1be3df414954011ff3caa859702679acbe619a7e /packages/tui/internal/app
parentcd3d91209ab843a5a84eec8aae371510ab9e3178 (diff)
downloadopencode-667ff90dd6be20bf19d5424a80d57559d38352f5.tar.gz
opencode-667ff90dd6be20bf19d5424a80d57559d38352f5.zip
feat: add shimmer text rendering (#2027)
Diffstat (limited to 'packages/tui/internal/app')
-rw-r--r--packages/tui/internal/app/app.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go
index f046daaef..af8157adc 100644
--- a/packages/tui/internal/app/app.go
+++ b/packages/tui/internal/app/app.go
@@ -650,6 +650,25 @@ func (a *App) IsBusy() bool {
return false
}
+func (a *App) HasAnimatingWork() bool {
+ for _, msg := range a.Messages {
+ switch casted := msg.Info.(type) {
+ case opencode.AssistantMessage:
+ if casted.Time.Completed == 0 {
+ return true
+ }
+ }
+ for _, p := range msg.Parts {
+ if tp, ok := p.(opencode.ToolPart); ok {
+ if tp.State.Status == opencode.ToolPartStateStatusPending {
+ return true
+ }
+ }
+ }
+ }
+ return false
+}
+
func (a *App) SaveState() tea.Cmd {
return func() tea.Msg {
err := SaveState(a.StatePath, a.State)