diff options
| author | Grail Finder <wohilas@gmail.com> | 2026-02-24 18:05:05 +0300 |
|---|---|---|
| committer | Grail Finder <wohilas@gmail.com> | 2026-02-24 18:05:05 +0300 |
| commit | 27288e2aaae1e5a8bac35f718ce33921277236d1 (patch) | |
| tree | f7f7bfc4b80d8576455783b53e8bebf0c4928c0e /bot.go | |
| parent | 1c728ec7a776c27887ab4b436a6ec6dfc17aaa6d (diff) | |
Enha: spinner to indicate llm response
Diffstat (limited to 'bot.go')
| -rw-r--r-- | bot.go | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -826,8 +826,26 @@ func chatWatcher(ctx context.Context) { } } +// inpired by https://github.com/rivo/tview/issues/225 +func showSpinner() { + spinners := []string{"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"} + var i int + for botRespMode { + time.Sleep(100 * time.Millisecond) + spin := i % len(spinners) + app.QueueUpdateDraw(func() { + textArea.SetTitle(spinners[spin] + " input") + }) + i++ + } + app.QueueUpdateDraw(func() { + textArea.SetTitle("input") + }) +} + func chatRound(r *models.ChatRoundReq) error { botRespMode = true + go showSpinner() updateStatusLine() botPersona := cfg.AssistantRole if cfg.WriteNextMsgAsCompletionAgent != "" { |
