raffitz
3 years ago
3 changed files with 153 additions and 3 deletions
@ -0,0 +1,113 @@ |
|||||||
|
# This file is automatically @generated by Cargo. |
||||||
|
# It is not intended for manual editing. |
||||||
|
[[package]] |
||||||
|
name = "ansi_term" |
||||||
|
version = "0.11.0" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b" |
||||||
|
dependencies = [ |
||||||
|
"winapi", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "atty" |
||||||
|
version = "0.2.14" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" |
||||||
|
dependencies = [ |
||||||
|
"hermit-abi", |
||||||
|
"libc", |
||||||
|
"winapi", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "bitflags" |
||||||
|
version = "1.2.1" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "clap" |
||||||
|
version = "2.33.3" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002" |
||||||
|
dependencies = [ |
||||||
|
"ansi_term", |
||||||
|
"atty", |
||||||
|
"bitflags", |
||||||
|
"strsim", |
||||||
|
"textwrap", |
||||||
|
"unicode-width", |
||||||
|
"vec_map", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "hermit-abi" |
||||||
|
version = "0.1.17" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "5aca5565f760fb5b220e499d72710ed156fdb74e631659e99377d9ebfbd13ae8" |
||||||
|
dependencies = [ |
||||||
|
"libc", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "libc" |
||||||
|
version = "0.2.80" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "4d58d1b70b004888f764dfbf6a26a3b0342a1632d33968e4a179d8011c760614" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "strsim" |
||||||
|
version = "0.8.0" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "textwrap" |
||||||
|
version = "0.11.0" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" |
||||||
|
dependencies = [ |
||||||
|
"unicode-width", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "unicode-width" |
||||||
|
version = "0.1.8" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "vec_map" |
||||||
|
version = "0.8.2" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "voxelmap" |
||||||
|
version = "0.1.0" |
||||||
|
dependencies = [ |
||||||
|
"clap", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "winapi" |
||||||
|
version = "0.3.9" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" |
||||||
|
dependencies = [ |
||||||
|
"winapi-i686-pc-windows-gnu", |
||||||
|
"winapi-x86_64-pc-windows-gnu", |
||||||
|
] |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "winapi-i686-pc-windows-gnu" |
||||||
|
version = "0.4.0" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" |
||||||
|
|
||||||
|
[[package]] |
||||||
|
name = "winapi-x86_64-pc-windows-gnu" |
||||||
|
version = "0.4.0" |
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index" |
||||||
|
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" |
@ -1,3 +1,40 @@ |
|||||||
|
use clap::{crate_authors, crate_description, crate_name, crate_version, App, Arg}; |
||||||
|
|
||||||
|
macro_rules! scale_message { |
||||||
|
($n:ident) => { |
||||||
|
Err(format!("<{}> is not a positive integer", $n)) |
||||||
|
}; |
||||||
|
} |
||||||
|
|
||||||
fn main() { |
fn main() { |
||||||
println!("Hello, world!"); |
let matches = App::new(crate_name!()) |
||||||
|
.version(crate_version!()) |
||||||
|
.author(crate_authors!()) |
||||||
|
.about(crate_description!()) |
||||||
|
.arg( |
||||||
|
Arg::with_name("scale") |
||||||
|
.short("s") |
||||||
|
.long("scale") |
||||||
|
.help("The scale parameter for the object") |
||||||
|
.takes_value(true) |
||||||
|
.multiple(false) |
||||||
|
.value_name("N") |
||||||
|
.validator(|n: String| -> Result<(), String> { |
||||||
|
match n.parse::<i32>() { |
||||||
|
Ok(x) => { |
||||||
|
if x > 0 { |
||||||
|
Ok(()) |
||||||
|
} else { |
||||||
|
scale_message!(n) |
||||||
|
} |
||||||
|
} |
||||||
|
Err(_) => scale_message!(n), |
||||||
|
} |
||||||
|
}), |
||||||
|
) |
||||||
|
.get_matches(); |
||||||
|
|
||||||
|
let scale = matches.value_of("scale").map(|s| s.parse::<i32>().unwrap()); |
||||||
|
|
||||||
|
println!("Scale was read and is <{}>", scale.unwrap_or(1)); |
||||||
} |
} |
||||||
|
Loading…
Reference in new issue