mod threads; use std::io::{Stdin, Write}; use termion::event::Key; use termion::input::TermRead; pub use threads::Threads; pub enum State { Threads(Threads), } impl State { pub fn run(mut self, mut screen: W, stdin: Stdin) { for c in stdin.keys() { let c = c.unwrap(); // Global keybinds match c { Key::Char('q') => break, _ => () } // Pass to current state self = match self { State::Threads(s) => s.tick(&mut screen, c), }; } } }