diff options
author | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2022-08-28 13:00:37 +0300 |
---|---|---|
committer | Manos Pitsidianakis <el13635@mail.ntua.gr> | 2022-08-28 17:28:37 +0300 |
commit | 10497952f718b49f3a247741a64361f855b2d4f7 (patch) | |
tree | adbe02a5d6913ed233314da2e8763c39345dea7c | |
parent | 0c0bee4482d4fbfa675b97ca30405fdc77655936 (diff) | |
download | meli-10497952f718b49f3a247741a64361f855b2d4f7.zip |
Wrap stdout in BufWriter
Hopefully this makes redrawing the terminal faster
-rw-r--r-- | src/terminal.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/terminal.rs b/src/terminal.rs index 39fb4e8b..fb5c217b 100644 --- a/src/terminal.rs +++ b/src/terminal.rs @@ -456,12 +456,13 @@ pub use screen::StateStdout; pub mod screen { use super::*; use cells::CellBuffer; + use std::io::BufWriter; use std::io::Write; use termion::raw::IntoRawMode; use termion::screen::AlternateScreen; use termion::{clear, cursor}; pub type StateStdout = - termion::screen::AlternateScreen<termion::raw::RawTerminal<std::io::Stdout>>; + termion::screen::AlternateScreen<termion::raw::RawTerminal<BufWriter<std::io::Stdout>>>; pub struct Screen { pub cols: usize, pub rows: usize, @@ -495,6 +496,7 @@ pub mod screen { pub fn switch_to_alternate_screen(&mut self, context: &crate::Context) { let s = std::io::stdout(); + let s = BufWriter::with_capacity(240 * 80, s); let mut stdout = AlternateScreen::from(s.into_raw_mode().unwrap()); |