Painless Input
This is an easy to use input library crate. It automatically handles parsing errors and data validation with a simple syntax and good looking error messages.
Error message:

Array input:

Multiselect input:

Select input:

Usage
Normal input:
```rust
use painless_input::input;
fn main() {
let num: u8 = input("Enter a number: ");
println!();
}
```
Array input:
```rust
use painlessinput::inputarray;
fn main() {
let nums: Vec = input_array("Enter a list of numbers: ");
println!();
}
```
Data validation:
```rust
use painlessinput::inputwith_validation;
fn main() {
let validatednum = inputwith_validation::("Enter a number between 0 and 10: ", Box::new(|value| {
if value < 0 || value > 10 {
Err("Number must be between 0 and 10")
} else {
Ok(())
}
}));
println!();
}
```
Features
- Array input
- Builtin data validation with custom messages
- Pretty error messages
- Cross platform
Dependencies