diff options
author | metamuffin <metamuffin@disroot.org> | 2024-08-13 20:55:59 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-08-13 20:55:59 +0200 |
commit | fa4e866c2736e6679ff6717b849f3f6f34a7dc00 (patch) | |
tree | bf482a8d5e6a5ee97fbcdbf8e94448a59ee699c9 /server/src | |
parent | 50db2b3baf7e341631fe11dd9146460e825db533 (diff) | |
download | hurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar hurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar.bz2 hurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar.zst |
multiline commands
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/state.rs | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/server/src/state.rs b/server/src/state.rs index 2b112913..54beb3f7 100644 --- a/server/src/state.rs +++ b/server/src/state.rs @@ -210,15 +210,17 @@ impl State { } async fn handle_command_parse(&mut self, player: PlayerID, command: &str) -> Result<()> { - self.handle_command( - player, - Command::try_parse_from( - shlex::split(command) - .ok_or(anyhow!("quoting invalid"))? - .into_iter(), - )?, - ) - .await?; + for line in command.split("\n") { + self.handle_command( + player, + Command::try_parse_from( + shlex::split(line) + .ok_or(anyhow!("quoting invalid"))? + .into_iter(), + )?, + ) + .await?; + } Ok(()) } |