easyjs_utils/utils/input.rs
1use std::io::{stdin, stdout, Write};
2
3pub fn input(prompt: &str, default: &str) -> String {
4 let mut s = String::new();
5 print!("{}", prompt);
6
7 let _ = stdout().flush();
8 let r = stdin().read_line(&mut s).unwrap_or(0);
9
10 if r == 0 {
11 default.to_string()
12 } else {
13 if let Some('\n') = s.chars().next_back() {
14 s.pop();
15 }
16 if let Some('\r') = s.chars().next_back() {
17 s.pop();
18 }
19
20 s
21 }
22}