diff options
author | rabite <rabite@posteo.de> | 2019-03-03 00:24:21 +0100 |
---|---|---|
committer | rabite <rabite@posteo.de> | 2019-03-03 00:24:21 +0100 |
commit | 86250206c32dc55ca5be44b528028323d2227e9c (patch) | |
tree | 88bb274153e67aa2e830b217430d8eb714d1df36 /src/minibuffer.rs | |
parent | eb5a86b7cd37dc39d20f6ce122f671f94f51b75a (diff) |
replaced manual write!s
Diffstat (limited to 'src/minibuffer.rs')
-rw-r--r-- | src/minibuffer.rs | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/minibuffer.rs b/src/minibuffer.rs index f9a0f2f..690127f 100644 --- a/src/minibuffer.rs +++ b/src/minibuffer.rs @@ -1,10 +1,11 @@ +use std::io::Write; + use termion::event::Key; -use std::io::{stdout, Write}; use crate::coordinates::{Coordinates}; use crate::widget::{Widget, WidgetCore}; -use crate::fail::{HResult, HError}; -use crate::term; +use crate::fail::{HResult, HError, ErrorLog}; +use crate::term::ScreenExt; #[derive(Debug)] pub struct MiniBuffer { @@ -45,7 +46,7 @@ impl MiniBuffer { self.completions.clear(); self.last_completion = None; - write!(stdout(), "{}", termion::cursor::Show)?; + self.get_core()?.screen.lock()?.cursor_hide(); self.popup()?; @@ -360,14 +361,14 @@ impl Widget for MiniBuffer { fn after_draw(&self) -> HResult<()> { let cursor_pos = self.query.len() + ": ".len() + - self.position + - 1; + self.position; - let ysize = term::ysize(); + let mut screen = self.get_core()?.screen.lock()?; + let ysize = screen.ysize()?; + screen.goto_xy(cursor_pos, ysize).log(); + screen.cursor_show().log(); - write!(stdout(), "{}", term::goto_xy(cursor_pos as u16, ysize))?; - stdout().flush()?; Ok(()) } } |