41 个发布版
使用旧的 Rust 2015
0.11.0 | 2018年3月30日 |
---|---|
0.9.0 | 2016年9月8日 |
0.8.1 | 2016年1月22日 |
0.7.2 | 2015年9月28日 |
0.2.2 | 2014年12月27日 |
#695 in GUI
871 每月下载量
在 少于 14 crates 中使用
24KB
510 行
Rustbox
Rustbox 是 termbox 库的 Rust 实现。
目前,这只是一个 nsf 的 C 库的包装器,但我计划将其转换为纯 Rust 实现,并移除对 C 库的依赖。
这个实现的原始版本受到了 Aaron Pribadi 的启发,所以对他最初的工作表示极大的敬意。
注意 这还在开发中,API 可能会随着我对 Rust 的工作方式以及语言本身的改变而变化
用法
在您的 Cargo.toml
中添加以下内容
[dependencies]
rustbox = "*"
您也可以通过添加以下内容来使用当前的 git 版本
[dependencies.rustbox]
git = "https://github.com/gchp/rustbox.git"
然后,在您的 src/example.rs
extern crate rustbox;
use std::error::Error;
use std::default::Default;
use rustbox::{Color, RustBox};
use rustbox::Key;
fn main() {
let rustbox = match RustBox::init(Default::default()) {
Result::Ok(v) => v,
Result::Err(e) => panic!("{}", e),
};
rustbox.print(1, 1, rustbox::RB_BOLD, Color::White, Color::Black, "Hello, world!");
rustbox.print(1, 3, rustbox::RB_BOLD, Color::White, Color::Black,
"Press 'q' to quit.");
rustbox.present();
loop {
match rustbox.poll_event(false) {
Ok(rustbox::Event::KeyEvent(key)) => {
match key {
Key::Char('q') => { break; }
_ => { }
}
},
Err(e) => panic!("{}", e.description()),
_ => { }
}
}
}
注意:此示例也可以通过以下命令运行 cargo run --example hello-world
。
使用此 crate 的项目
依赖项
~2–11MB
~113K SLoC