(msg tea.Msg)
| 47 | } |
| 48 | |
| 49 | func (m BusyModel) Update(msg tea.Msg) (tea.Model, tea.Cmd) { |
| 50 | switch msg := msg.(type) { |
| 51 | case BusyDoneMsg: |
| 52 | m.Quitting = true |
| 53 | return m, tea.Quit |
| 54 | case tea.KeyMsg: |
| 55 | switch msg.String() { |
| 56 | case "q", "Q", "esc", "ctrl+c": |
| 57 | selfInterrupt() |
| 58 | m.Quitting = true |
| 59 | return m, tea.Quit |
| 60 | } |
| 61 | case spinner.TickMsg: |
| 62 | var cmd tea.Cmd |
| 63 | m.spin, cmd = m.spin.Update(msg) |
| 64 | return m, cmd |
| 65 | } |
| 66 | return m, nil |
| 67 | } |
| 68 | |
| 69 | func (m BusyModel) View() string { |
| 70 | if m.Quitting { |