diff options
author | Blaž Hrastnik | 2020-09-07 02:29:46 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2020-09-07 02:29:46 +0000 |
commit | 4e349add60db745ebf459bb97b77031d3d9b6678 (patch) | |
tree | 77edf50564fbe078ef3c38a14a02b5483b8b680a /helix-term/src/line.rs | |
parent | 8b3e152126ec8f0e67dad378dc62c734ea97a4b0 (diff) |
cleanup: Remove leftover files.
Diffstat (limited to 'helix-term/src/line.rs')
-rw-r--r-- | helix-term/src/line.rs | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/helix-term/src/line.rs b/helix-term/src/line.rs deleted file mode 100644 index b4b88655..00000000 --- a/helix-term/src/line.rs +++ /dev/null @@ -1,72 +0,0 @@ -//! Demonstrates how to read events asynchronously with async-std. -//! -//! cargo run --features="event-stream" --example event-stream-async-std - -use std::{ - io::{stdout, Write}, - time::Duration, -}; - -use futures::{future::FutureExt, select, StreamExt}; -use smol::Timer; -// use futures_timer::Delay; - -use crossterm::{ - cursor::position, - event::{DisableMouseCapture, EnableMouseCapture, Event, EventStream, KeyCode}, - execute, - terminal::{disable_raw_mode, enable_raw_mode}, - Result, -}; - -const HELP: &str = r#"EventStream based on futures::Stream with async-std - - Keyboard, mouse and terminal resize events enabled - - Prints "." every second if there's no event - - Hit "c" to print current cursor position - - Use Esc to quit -"#; - -async fn print_events() { - let mut reader = EventStream::new(); - - loop { - let mut delay = Timer::after(Duration::from_millis(1_000)).fuse(); - let mut event = reader.next().fuse(); - - select! { - _ = delay => { println!(".\r"); }, - maybe_event = event => { - match maybe_event { - Some(Ok(event)) => { - println!("Event::{:?}\r", event); - - if event == Event::Key(KeyCode::Char('c').into()) { - println!("Cursor position: {:?}\r", position()); - } - - if event == Event::Key(KeyCode::Esc.into()) { - break; - } - } - Some(Err(e)) => println!("Error: {:?}\r", e), - None => break, - } - } - }; - } -} - -fn main() -> Result<()> { - println!("{}", HELP); - - enable_raw_mode()?; - - let mut stdout = stdout(); - execute!(stdout, EnableMouseCapture)?; - - smol::run(print_events()); - - execute!(stdout, DisableMouseCapture)?; - - disable_raw_mode() -} |