summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2022-08-28 13:00:37 +0300
committerManos Pitsidianakis <el13635@mail.ntua.gr>2022-08-28 17:28:37 +0300
commit10497952f718b49f3a247741a64361f855b2d4f7 (patch)
treeadbe02a5d6913ed233314da2e8763c39345dea7c
parent0c0bee4482d4fbfa675b97ca30405fdc77655936 (diff)
downloadmeli-10497952f718b49f3a247741a64361f855b2d4f7.zip
Wrap stdout in BufWriter
Hopefully this makes redrawing the terminal faster
-rw-r--r--src/terminal.rs4
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());