diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2016-05-13 14:41:19 +0200 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2016-05-13 14:41:19 +0200 |
commit | eca41e04dd8879592fba1a900342e817c3543555 (patch) | |
tree | 74e7ef56343e0951c1dcdb8de70d2147cdf90b5e /bin | |
parent | 580c9e5286bddd5cea02721e72438a786edbb1b5 (diff) |
Add argument finder helper function
Diffstat (limited to 'bin')
-rw-r--r-- | bin/src/main.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/bin/src/main.rs b/bin/src/main.rs index 925fb49f..3b154a47 100644 --- a/bin/src/main.rs +++ b/bin/src/main.rs @@ -98,6 +98,14 @@ fn find_command() -> Option<String> { env::args().skip(1).filter(|x| !x.starts_with("-")).next() } +fn find_args(command: &str) -> Vec<String> { + env::args() + .skip(1) + .position(|e| e == command) + .map(|pos| env::args().skip(pos + 2).collect::<Vec<String>>()) + .unwrap_or(vec![]) +} + fn main() { let commands = get_commands(); let mut args = env::args(); @@ -145,6 +153,7 @@ fn main() { .stdin(Stdio::inherit()) .stdout(Stdio::inherit()) .stderr(Stdio::inherit()) + .args(&find_args(s)[..]) .spawn() .and_then(|mut handle| handle.wait()) { |