diff --git a/src/core.rs b/src/core.rs index 00486201..aebcc8a2 100644 --- a/src/core.rs +++ b/src/core.rs @@ -148,17 +148,12 @@ pub fn input_thread ( // Listen for events and send them to the main thread if ::crossterm::event::poll(poll).is_ok() { let event = ::crossterm::event::read().unwrap(); - match event { - Event::Key(KeyEvent { - code: KeyCode::Char('c'), - modifiers: KeyModifiers::CONTROL, - .. - }) => { - exited.store(true, Ordering::Relaxed); - }, - _ => if device.write().unwrap().handle(&AppEvent::Input(event)).is_err() { - break - } + if let Event::Key(KeyEvent { + code: KeyCode::Char('c'), modifiers: KeyModifiers::CONTROL, .. + }) = event { + exited.store(true, Ordering::Relaxed); + } else if let Err(e) = device.write().unwrap().handle(&AppEvent::Input(event)) { + panic!("{e}") } } }) diff --git a/src/core/render.rs b/src/core/render.rs index 55b898c2..0e5ce44b 100644 --- a/src/core/render.rs +++ b/src/core/render.rs @@ -1,6 +1,8 @@ use crate::core::*; -pub(crate) use ratatui::prelude::*; -pub(crate) use ratatui::buffer::Cell; +pub(crate) use ratatui::prelude::CrosstermBackend; +pub(crate) use ratatui::style::{Stylize, Style, Color}; +pub(crate) use ratatui::layout::Rect; +pub(crate) use ratatui::buffer::{Buffer, Cell}; use ratatui::widgets::WidgetRef; pub fn fill_bg (buf: &mut Buffer, area: Rect, color: Color) { @@ -105,72 +107,6 @@ impl WidgetRef for dyn Render { } } -pub struct LineBuffer { - width: usize, - cells: Vec, - style: Option