diff options
-rw-r--r-- | src/term.rs | 10 | ||||
-rw-r--r-- | test/rl.rs | 8 |
2 files changed, 11 insertions, 7 deletions
diff --git a/src/term.rs b/src/term.rs index 4754d7e..564eca7 100644 --- a/src/term.rs +++ b/src/term.rs @@ -15,11 +15,19 @@ struct Term { pub fn Term (cleanup: bool) -> Term { info::init(); - io::print(escape("smkx")); Term { r: Reader(cleanup), w: Writer(cleanup) } } impl Term { + pub fn init_term_app (&mut self) { + cbreak(); + echo(false); + self.write(escape("smkx")); + self.alternate_screen(true); + self.clear(); + self.flush(); + } + pub fn clear (&mut self) { self.w.clear(); } @@ -2,9 +2,9 @@ extern mod term; use term::{KeyCharacter,KeyEscape,KeyUp,KeyDown,KeyLeft,KeyRight}; fn term_app (body: &fn (r: &mut term::Term)) { - let mut term = term::Term(true); do term::ios::preserve { - term.alternate_screen(true); + let mut term = term::Term(true); + term.init_term_app(); body(&mut term); } } @@ -31,10 +31,6 @@ fn main () { let (cols, rows) = term::size(); do term_app |term| { - term::cbreak(); - term::echo(false); - term.clear(); - draw_map(term, rows, cols); let mut (x, y) = (0u, 0u); |