diff options
Diffstat (limited to 'examples/basic.rs')
-rw-r--r-- | examples/basic.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/basic.rs b/examples/basic.rs index 18d86a9..49f56bc 100644 --- a/examples/basic.rs +++ b/examples/basic.rs @@ -1,5 +1,39 @@ use textmode::Textmode as _; +#[cfg(feature = "async")] +async fn run( + tm: &mut textmode::Output, + input: &mut textmode::Input, +) -> textmode::Result<()> { + tm.move_to(5, 5); + tm.write_str("foo"); + input.read_key().await?; + tm.refresh().await?; + input.read_key().await?; + + tm.move_to(8, 8); + tm.set_fgcolor(textmode::color::GREEN); + tm.write_str("bar"); + tm.move_to(11, 11); + tm.set_fgcolor(vt100::Color::Default); + tm.write_str("baz"); + input.read_key().await?; + tm.refresh().await?; + input.read_key().await?; + Ok(()) +} + +#[cfg(feature = "async")] +fn main() { + smol::block_on(async { + let mut input = textmode::Input::new().await.unwrap(); + let mut tm = textmode::Output::new().await.unwrap(); + let e = run(&mut tm, &mut input).await; + e.unwrap(); + }); +} + +#[cfg(not(feature = "async"))] fn main() { let mut tm = textmode::blocking::Output::new().unwrap(); let mut input = textmode::blocking::Input::new().unwrap(); |