diff options
Diffstat (limited to 'internal/game/game.go')
| -rw-r--r-- | internal/game/game.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/internal/game/game.go b/internal/game/game.go index df8dab2..448dcce 100644 --- a/internal/game/game.go +++ b/internal/game/game.go @@ -597,6 +597,23 @@ func (g *Game) reprompt(sess *net.Session) { } } +// rawArgsFrom returns the whitespace-separated arguments following verb in +// rawInput, preserving their original case. Dispatch lowercases args before +// handlers run, so free-text handlers (option/alias/say/global/prompt) use +// this instead of the lowercased args slice. +func rawArgsFrom(rawInput, verb string) []string { + fields := strings.Fields(rawInput) + for i, f := range fields { + if strings.EqualFold(f, verb) { + return fields[i+1:] + } + } + if len(fields) == 0 { + return nil + } + return fields[1:] +} + func (g *Game) handleGameCommand(sess *net.Session, input string) { if input == "" { g.reprompt(sess) |
