2 unstable releases
0.2.0 | Jun 18, 2019 |
---|---|
0.1.0 | Jun 15, 2019 |
#94 in #cli-parser
136 downloads per month
20KB
392 lines
windows-args
A command-line argument parser for Windows, copied almost wholesale from the rust standard library.
[dependencies]
windows-args = "0.2"
use windows_args::Args;
// for a complete command line, with executable
for arg in Args::parse_cmd(r#"foobar.exe to "C:\Program Files\Hi.txt" now"#) {
println!("{}", arg);
}
// for just args, without an executable
for arg in Args::parse_args(r#"to "C:\Program Files\Hi.txt" now"#) {
println!("{}", arg);
}
lib.rs
:
windows-args
A command-line argument parser for Windows, copied almost wholesale from the rust standard library.
Offerings include:
Args
andArgsOs
, iterators that produceString
andOsString
values respectively.- Two parsing functions,
Args::parse_cmd
andArgs::parse_args
.- These differ in how they parse the first argument, and in how they treat empty input.
Due to limitations of the current implementation, this crate currently can only be used on Windows.
use windows_args::Args;
// to parse a complete command (beginning with an executable name)
let mut args = Args::parse_cmd(r#"foobar.exe to "C:\Program Files\Hi.txt" now"#);
// to parse arguments to a command (NOT beginning with an executable name)
let mut args = Args::parse_args(r#"foobar to "C:\Program Files\Hi.txt" now"#);
assert_eq!(args.next(), Some("foobar".to_string()));
assert_eq!(args.next(), Some("to".to_string()));
assert_eq!(args.next(), Some("C:\\Program Files\\Hi.txt".to_string()));
assert_eq!(args.next(), Some("now".to_string()));
assert_eq!(args.next(), None);
Dependencies
~46KB