diff options
Diffstat (limited to 'packages/tui/internal/app')
| -rw-r--r-- | packages/tui/internal/app/app.go | 19 |
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) |
