activeSubagentSummary returns a short string like " · research" or " · research ×2, codereview" when subagents are running. Empty otherwise. Tacked onto the spinner line so the user can see what's in flight.
()
| 1058 | // " · research ×2, codereview" when subagents are running. Empty otherwise. |
| 1059 | // Tacked onto the spinner line so the user can see what's in flight. |
| 1060 | func activeSubagentSummary() string { |
| 1061 | active := subagent.Active() |
| 1062 | if len(active) == 0 { |
| 1063 | return "" |
| 1064 | } |
| 1065 | parts := make([]string, 0, len(active)) |
| 1066 | for name, n := range active { |
| 1067 | if n == 1 { |
| 1068 | parts = append(parts, name) |
| 1069 | } else { |
| 1070 | parts = append(parts, fmt.Sprintf("%s ×%d", name, n)) |
| 1071 | } |
| 1072 | } |
| 1073 | return " · " + strings.Join(parts, ", ") |
| 1074 | } |
| 1075 | |
| 1076 | func (m harness) inputArea() string { |
| 1077 | w := m.width - 2 |