raffitz
3 years ago
3 changed files with 153 additions and 3 deletions
@ -0,0 +1,113 @@
@@ -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 @@
@@ -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() { |
||||
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