summaryrefslogtreecommitdiffstats
path: root/src/minibuffer.rs
diff options
context:
space:
mode:
authorrabite <rabite@posteo.de>2019-03-03 00:24:21 +0100
committerrabite <rabite@posteo.de>2019-03-03 00:24:21 +0100
commit86250206c32dc55ca5be44b528028323d2227e9c (patch)
tree88bb274153e67aa2e830b217430d8eb714d1df36 /src/minibuffer.rs
parenteb5a86b7cd37dc39d20f6ce122f671f94f51b75a (diff)
replaced manual write!s
Diffstat (limited to 'src/minibuffer.rs')
-rw-r--r--src/minibuffer.rs19
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(())
}
}