console_utilities/
input.rs

1use crate::color::RGB;
2use crate::output::{print_gradient, print_rgb};
3use crate::console::flush_console;
4
5use std::io;
6
7pub fn input(prompt: &str) -> String {
8    print!("{}", prompt);
9    flush_console();
10
11    let mut input = String::new();
12    io::stdin().read_line(&mut input).expect("Failed to read line");
13    input.trim().to_string()
14}
15
16pub fn input_rgb(prompt: &str, color: RGB) -> String {
17    print_rgb(format!("{}", prompt).as_str(), color);
18    flush_console();
19
20    let mut input = String::new();
21    io::stdin().read_line(&mut input).expect("Failed to read line");
22    input.trim().to_string()
23}
24
25pub fn input_gradient(prompt: &str, start_color: RGB, end_color: RGB) -> String {
26    print_gradient(format!("{}", prompt).as_str(), start_color, end_color);
27    flush_console();
28
29    let mut input = String::new();
30    io::stdin().read_line(&mut input).expect("Failed to read line");
31    input.trim().to_string()
32}