ninput/
lib.rs

1use std::io::Write;
2
3pub fn ninput(message: &str) -> String {
4    let mut input: String;
5    print!("{message}");
6    std::io::stdout().flush().expect("Failed to flush stdout");
7    input = String::new();
8    std::io::stdin().read_line(&mut input).expect("Failed to read line");
9    input.pop();
10    input
11}
12
13#[macro_export]
14macro_rules! input {
15    ($($arg:tt)*) => {{
16        let msg = std::fmt::format(std::format_args!($($arg)*));
17        ninput(msg.as_str())
18    }}
19}