#input #error-handling #terminal #custom-messages #recoverable-errors


Terminal inputs made psuedo code like simple, like Python like simple ...... probably xD

13 releases

0.1.72 Jul 29, 2020
0.1.71 Jul 28, 2020

#421 in Command-line interface

22 downloads per month

MIT license

62 lines

crates.io version Crates.io Downloads crates.io license Discord image


Note: Thanks to @Restioson, @ThatsNoMoon and @kangalioo for helping me write the code

Now Rust inputs are almost as simple as Python

Terminal inputs are now easier than ever. Replacing over 5 lines of codes with just 1 function.

Supports all formats that FromStr Supports

Instead of

let mut var: String = String::new();
io::stdin().read_line(&mut var).unwrap();
let var: i32 = var.trim().parse().unwrap();

why not

let var: i32 = input(Def);

and it doesn't panic when wrong format is entered (when default arg [Def]).

Or you can choose to make it panic too.


inputparser = "0.1"


extern crate inputparser;
use inputparsertest::{input, input_w_msg, inputfn, ErHandle::*};

fn main() {
    //for Default continue message "Input not supported" when Err
    let i: i32 = input(Def);

    //for custom panic message when Err
    let j: f64 = input(Pnc("Panic Message"));

    //for custom continue message when Err
    let k: u128 = input(Msg("Continue Message"));

    //for custom loop message and continue/error message
    let l: isize = input_w_msg("Enter the number",Msg("Please enter valid number"));

    //for more Rust way for handling the error
    let m: usize = inputfn(|| /*use panic if required*/ println!("Continue Error Message"));
    println!("{} {} {} {} {}", i, j, k, l, m);

No runtime deps