diff --git a/Cargo.lock b/Cargo.lock index c958fdc..79b4ad9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -5,3 +5,12 @@ version = 4 [[package]] name = "rush" version = "0.1.0" +dependencies = [ + "shlex", +] + +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" diff --git a/Cargo.toml b/Cargo.toml index 3160250..e2be144 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,3 +4,4 @@ version = "0.1.0" edition = "2024" [dependencies] +shlex = "1.3.0" diff --git a/src/core.rs b/src/core.rs index 1533c39..6117104 100644 --- a/src/core.rs +++ b/src/core.rs @@ -16,8 +16,8 @@ pub fn get_input() -> String { input } -pub fn parse_input(s: &str) -> Vec<&str> { - s.split_whitespace().collect() +pub fn parse_input(s: &str) -> Vec { + shlex::split(s).unwrap() } pub fn get_command(tokens: Vec<&str>) -> &str {