#termbox #terminal

rustbox

A rust implementation of the termbox library

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

Download history 325/week @ 2024-03-11 246/week @ 2024-03-18 208/week @ 2024-03-25 346/week @ 2024-04-01 158/week @ 2024-04-08 244/week @ 2024-04-15 249/week @ 2024-04-22 225/week @ 2024-04-29 215/week @ 2024-05-06 231/week @ 2024-05-13 236/week @ 2024-05-20 284/week @ 2024-05-27 209/week @ 2024-06-03 171/week @ 2024-06-10 224/week @ 2024-06-17 210/week @ 2024-06-24

871 每月下载量
少于 14 crates 中使用

MIT 许可证

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