| use std::io::{self, Write}; |
| use std::thread; |
| use std::time::Duration; |
| |
| use console::{style, Term}; |
| |
| fn do_stuff() -> io::Result<()> { |
| let term = Term::stdout(); |
| term.set_title("Counting..."); |
| term.write_line("Going to do some counting now")?; |
| term.hide_cursor()?; |
| for x in 0..10 { |
| if x != 0 { |
| term.move_cursor_up(1)?; |
| } |
| term.write_line(&format!("Counting {}/10", style(x + 1).cyan()))?; |
| thread::sleep(Duration::from_millis(400)); |
| } |
| term.show_cursor()?; |
| term.clear_last_lines(1)?; |
| term.write_line("Done counting!")?; |
| writeln!(&term, "Hello World!")?; |
| |
| write!(&term, "To edit: ")?; |
| let res = term.read_line_initial_text("default")?; |
| writeln!(&term, "\n{}", res)?; |
| |
| Ok(()) |
| } |
| |
| fn main() { |
| do_stuff().unwrap(); |
| } |