nocurses_rust 0.2.1

Simple terminal library ported from nocurses.h
Documentation
use std::io;

use crossterm::event::{self, Event, KeyCode, KeyEvent};
use crossterm::terminal::{enable_raw_mode, disable_raw_mode};

pub const BLACK : i32 = 0;
pub const RED : i32 = 1;
pub const GREEN : i32 = 2;
pub const YELLOW : i32 = 3;
pub const BLUE : i32 = 4;
pub const MAGENTA : i32 = 5;
pub const CYAN : i32 = 6;
pub const WHITE : i32 = 7;

fn read_char() -> io::Result<char> {
    loop {
        if let Event::Key(KeyEvent {
            code: KeyCode::Char(c),
            ..
        }) = event::read()?
        {
            return Ok(c);
        }
    }
}

pub fn wait(){
    let _ = io::stdin().read_line(&mut String::new());
}

pub fn clrscr(){
    print!("\x1b[2J\x1b[?6h");
}

pub fn clrline(){
    print!("\x1b[2K\x1bE");
}

pub fn resetcolors(){
    print!("\x1b[2K\x1b[0m");
}

pub fn gotoxy(x: i32, y: i32){
    print!("{}", format!("\x1b[{};{}H",y,x));
}

pub fn setfontcolor(color: i32){
    print!("{}", format!("\x1b[3{}m", color));
}

pub fn setbgrcolor(color: i32){
    print!("{}", format!("\x1b[4{}m", color));
}

pub fn settitle(title: &str){
    print!("{}", format!("\x1b]0;{}\\x7", title));
}

pub fn getch() -> Result<char, io::Error>{
    enable_raw_mode()?;
	let c = read_char();
	disable_raw_mode()?;
	c
}