Add polecat session cycling (C-b n/p)

Polecats for a rig now cycle among themselves, like crew members.
Session groups are now:
- Town: Mayor ↔ Deacon
- Crew: All crew in same rig
- Rig infra: Witness ↔ Refinery
- Polecats: All polecats in same rig

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-30 16:47:28 -08:00
parent 38fe3cbd32
commit eea821bd62
3 changed files with 280 additions and 1 deletions

View File

@@ -32,6 +32,7 @@ Session groups:
- Town sessions: Mayor ↔ Deacon
- Crew sessions: All crew members in the same rig (e.g., gastown/crew/max ↔ gastown/crew/joe)
- Rig infra sessions: Witness ↔ Refinery (per rig)
- Polecat sessions: All polecats in the same rig (e.g., gastown/Toast ↔ gastown/Nux)
The appropriate cycling is detected automatically from the session name.`,
}
@@ -92,7 +93,12 @@ func cycleToSession(direction int, sessionOverride string) error {
return cycleRigInfraSession(direction, session, rig)
}
// Unknown session type (polecat) - do nothing
// Check if it's a polecat session (gt-<rig>-<name>, not crew/witness/refinery)
if rig, _, ok := parsePolecatSessionName(session); ok && rig != "" {
return cyclePolecatSession(direction, session)
}
// Unknown session type - do nothing
return nil
}