From 9885f5ca8db5060f95066b16f68f69c1a858cf0f Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Fri, 12 Mar 2021 00:33:26 -0500 Subject: refactor input implementations to share some code --- src/lib.rs | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) (limited to 'src/lib.rs') diff --git a/src/lib.rs b/src/lib.rs index e4abf7b..79caedc 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -7,6 +7,7 @@ mod error; pub use error::{Error, Result}; mod key; pub use key::Key; +mod private; #[cfg(feature = "async")] mod output; @@ -20,25 +21,6 @@ pub use input::{Input, RawGuard}; const INIT: &[u8] = b"\x1b7\x1b[?47h\x1b[2J\x1b[H\x1b[?25h"; const DEINIT: &[u8] = b"\x1b[?47l\x1b8\x1b[?25h"; -mod private { - pub trait TextmodeImpl { - fn cur(&self) -> &vt100::Parser; - fn cur_mut(&mut self) -> &mut vt100::Parser; - fn next(&self) -> &vt100::Parser; - fn next_mut(&mut self) -> &mut vt100::Parser; - - fn write_u16(&mut self, i: u16) { - // unwrap is fine because vt100::Parser::write can never fail - itoa::write(self.next_mut(), i).unwrap(); - } - - fn write_u8(&mut self, i: u8) { - // unwrap is fine because vt100::Parser::write can never fail - itoa::write(self.next_mut(), i).unwrap(); - } - } -} - pub trait Textmode: private::TextmodeImpl { fn screen(&self) -> &vt100::Screen { self.next().screen() -- cgit v1.2.3-54-g00ecf