From ee1c9f86982af88713c063509a7c4fac1f2e7007 Mon Sep 17 00:00:00 2001 From: Mroik Date: Thu, 27 Nov 2025 05:45:19 +0100 Subject: Rename module --- src/app.rs | 2 +- src/event.rs | 41 ----------------------------------------- src/input.rs | 41 +++++++++++++++++++++++++++++++++++++++++ src/main.rs | 2 +- 4 files changed, 43 insertions(+), 43 deletions(-) delete mode 100644 src/event.rs create mode 100644 src/input.rs (limited to 'src') diff --git a/src/app.rs b/src/app.rs index f3eee36..d5edae0 100644 --- a/src/app.rs +++ b/src/app.rs @@ -22,7 +22,7 @@ use tokio::{ use crate::{ error::{TerminalTooSmallError, TyperError, WordTooLongError}, - event::{Event, handle_input}, + input::{Event, handle_input}, state::State, }; diff --git a/src/event.rs b/src/event.rs deleted file mode 100644 index 7e0db3e..0000000 --- a/src/event.rs +++ /dev/null @@ -1,41 +0,0 @@ -use std::{error::Error, time::Duration}; - -use crossterm::event::{KeyCode, KeyModifiers, poll, read}; -use tokio::sync::mpsc::Sender; - -use crate::app::TICK_RATE; - -#[derive(PartialEq)] -pub enum Event { - Terminate, - KeyPress(char), - Backspace, - Render, - ForceRender, -} - -// TODO -// - [ ] Pause on focus lost -// - [ ] Invalidate on paste -pub async fn handle_input(sender: &Sender) -> Result<(), Box> { - if poll(Duration::from_millis(TICK_RATE))? { - match read()? { - //crossterm::event::Event::FocusGained => todo!(), - //crossterm::event::Event::FocusLost => todo!(), - //crossterm::event::Event::Paste(_) => todo!(), - crossterm::event::Event::Resize(_, _) => sender.send(Event::ForceRender).await?, - crossterm::event::Event::Key(key_event) => { - match (key_event.code, key_event.modifiers) { - (KeyCode::Char('c'), KeyModifiers::CONTROL) => { - sender.send(Event::Terminate).await? - } - (KeyCode::Backspace, _) => sender.send(Event::Backspace).await?, - (KeyCode::Char(c), _) => sender.send(Event::KeyPress(c)).await?, - _ => (), - } - } - _ => (), - } - } - return Ok(()); -} diff --git a/src/input.rs b/src/input.rs new file mode 100644 index 0000000..7e0db3e --- /dev/null +++ b/src/input.rs @@ -0,0 +1,41 @@ +use std::{error::Error, time::Duration}; + +use crossterm::event::{KeyCode, KeyModifiers, poll, read}; +use tokio::sync::mpsc::Sender; + +use crate::app::TICK_RATE; + +#[derive(PartialEq)] +pub enum Event { + Terminate, + KeyPress(char), + Backspace, + Render, + ForceRender, +} + +// TODO +// - [ ] Pause on focus lost +// - [ ] Invalidate on paste +pub async fn handle_input(sender: &Sender) -> Result<(), Box> { + if poll(Duration::from_millis(TICK_RATE))? { + match read()? { + //crossterm::event::Event::FocusGained => todo!(), + //crossterm::event::Event::FocusLost => todo!(), + //crossterm::event::Event::Paste(_) => todo!(), + crossterm::event::Event::Resize(_, _) => sender.send(Event::ForceRender).await?, + crossterm::event::Event::Key(key_event) => { + match (key_event.code, key_event.modifiers) { + (KeyCode::Char('c'), KeyModifiers::CONTROL) => { + sender.send(Event::Terminate).await? + } + (KeyCode::Backspace, _) => sender.send(Event::Backspace).await?, + (KeyCode::Char(c), _) => sender.send(Event::KeyPress(c)).await?, + _ => (), + } + } + _ => (), + } + } + return Ok(()); +} diff --git a/src/main.rs b/src/main.rs index d03eb2c..db07ecf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -2,7 +2,7 @@ mod app; pub mod error; -pub mod event; +pub mod input; pub mod state; use std::{ -- cgit v1.3