simple_input 0.4.0

A simple crate for handling user input, inspired by Python
Documentation
//! # Simple Input
//! 
//! `simple_input` provides a simple way to ask for user input, inspired by Python's `input` function.
//! 
//! ```
//! extern crate simple_input;
//! use simple_input::input;
//! 
//! fn main() {
//!     let name = input("What is your name? ");
//!     println!("Hello {}!", name);
//! }
//! ```

use std::io;

/// Takes user input, given a prompt.
/// 
/// # Example
/// 
/// ```
/// let user_input = input("What is your name? ");
/// println!("Hello {}!", user_input);
/// ```
pub fn input(prompt: &str) -> String {
    let mut user_input = String::new();
    print!("{}", prompt); // Print the prompt

    io::Write::flush(&mut io::stdout()) // Flush stdout
        .expect("Stdout flush failed while taking user input");

    io::stdin().read_line(&mut user_input) // Accept user input
        .expect("Taking user input from Stdin failed"); 

    user_input.pop(); // Remove the newline character
    return user_input;
}