summaryrefslogtreecommitdiff
path: root/vendor/console/examples/cursor_at.rs
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
committerValentin Popov <valentin@popov.link>2024-01-08 00:21:28 +0300
commit1b6a04ca5504955c571d1c97504fb45ea0befee4 (patch)
tree7579f518b23313e8a9748a88ab6173d5e030b227 /vendor/console/examples/cursor_at.rs
parent5ecd8cf2cba827454317368b68571df0d13d7842 (diff)
downloadfparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.tar.xz
fparkan-1b6a04ca5504955c571d1c97504fb45ea0befee4.zip
Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
Diffstat (limited to 'vendor/console/examples/cursor_at.rs')
-rw-r--r--vendor/console/examples/cursor_at.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/console/examples/cursor_at.rs b/vendor/console/examples/cursor_at.rs
new file mode 100644
index 0000000..9a1bb3d
--- /dev/null
+++ b/vendor/console/examples/cursor_at.rs
@@ -0,0 +1,30 @@
+extern crate console;
+
+use std::io;
+use std::thread;
+use std::time::Duration;
+
+use console::{style, Term};
+
+fn write_chars() -> io::Result<()> {
+ let term = Term::stdout();
+ let (heigth, width) = term.size();
+ for x in 0..width {
+ for y in 0..heigth {
+ term.move_cursor_to(x as usize, y as usize)?;
+ let text = if (x + y) % 2 == 0 {
+ format!("{}", style(x % 10).black().on_red())
+ } else {
+ format!("{}", style(x % 10).red().on_black())
+ };
+
+ term.write_str(&text)?;
+ thread::sleep(Duration::from_micros(600));
+ }
+ }
+ Ok(())
+}
+
+fn main() {
+ write_chars().unwrap();
+}