diff options
| -rw-r--r-- | Cargo.lock | 7 | ||||
| -rw-r--r-- | Cargo.toml | 1 | ||||
| -rw-r--r-- | src/main.rs | 15 | 
3 files changed, 21 insertions, 2 deletions
| @@ -34,6 +34,12 @@ dependencies = [  ]  [[package]] +name = "exitcode" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193" + +[[package]]  name = "gag"  version = "0.1.9"  source = "registry+https://github.com/rust-lang/crates.io-index" @@ -102,6 +108,7 @@ name = "passextract"  version = "0.5.0"  dependencies = [   "clipboard", + "exitcode",   "rustty",  ] @@ -4,4 +4,5 @@ version = "0.5.0"  [dependencies]  clipboard = "0.1.2" +exitcode = "1.1.2"  rustty = "0.1" diff --git a/src/main.rs b/src/main.rs index fbbd252..38a6d3b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,6 +4,7 @@  // file for more information.  extern crate clipboard; +extern crate exitcode;  extern crate rustty;  use clipboard::ClipboardContext; @@ -114,7 +115,17 @@ fn main() {      // TODO: Add --version -V arg      // TODO: When done, update man page -    let options = ["-i"]; +    let accepted_args = ["-i", "-V", "--version"]; + +    match args.get(1) { +        Some(arg) => { +            if arg == "-V" || arg == "--version" { +                println!("{}", env!("CARGO_PKG_VERSION")); +                process::exit(exitcode::OK); +            } +        } +        None => (), +    }      let hide_password = match args.get(1) {          Some(arg) if arg == "-i" => true, @@ -124,7 +135,7 @@ fn main() {      let last_arg = &args[args.len() - 1];      let input = if args.len() > 1 && -            !options.contains(&last_arg.as_ref()) { +            !accepted_args.contains(&last_arg.as_ref()) {          last_arg      } else {          "-" | 
