summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2024-08-13 20:55:59 +0200
committermetamuffin <metamuffin@disroot.org>2024-08-13 20:55:59 +0200
commitfa4e866c2736e6679ff6717b849f3f6f34a7dc00 (patch)
treebf482a8d5e6a5ee97fbcdbf8e94448a59ee699c9
parent50db2b3baf7e341631fe11dd9146460e825db533 (diff)
downloadhurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar
hurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar.bz2
hurrycurry-fa4e866c2736e6679ff6717b849f3f6f34a7dc00.tar.zst
multiline commands
-rw-r--r--server/src/state.rs20
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(())
}