14个版本 (9个破坏性更新)
使用旧的Rust 2015
0.13.0 | 2020年4月20日 |
---|---|
0.12.2 | 2018年12月15日 |
0.12.1 | 2018年11月6日 |
0.10.0 | 2018年4月8日 |
0.4.0 | 2017年7月24日 |
#631 in 命令行界面
每月下载量178次
用于 3 crates
37KB
504 行代码(不含注释)
EasyCurses
一个rust crate,用于平滑处理与curses相关的痛点。因为它基于pancurses,所以在Windows和Unix计算机上都能很好地工作。
示例在examples/
目录中。文件有注释,可以使用cargo
运行它们以查看效果。
cargo run --example <fileName>
完整的API文档可在docs.rs/easycurses找到
终端安全
通常在使用curses时,你的程序可能会使终端处于不可使用状态,导致打印不正确,如果程序意外退出而没有正确调用endwin
,这种情况尤为危险。EasyCurses会在程序通过Drop
trait关闭时安全地清理终端并将其恢复到可使用状态。无需担心。
需要注意的是,你一次只能有一个活动的EasyCurses
值。同时有两个值会导致初始化和关闭不平衡,从而产生问题。这通过一个适当的翻转的AtomicBool值来跟踪。
同样,如果你完全终止程序,由于终止是进程的即时终止,因此没有机会进行清理。所以,不要编译带有panic=abort
的代码,或者使用exit,或者在进行unwind期间panic,或者做任何类似的事情。至少,不要在EasyCurses值在调用堆栈中某处作用域内时这样做。
稳定性
我将这个库描述为“基本上稳定的”。正如在1.0级crate讨论中某处所述,一个crate不能真正称为1.0,除非它所依赖的所有东西也都是1.0,因此不管怎样,这个crate在pancurses
成为1.0之前不会真正升级到1.0。
许可证
本项目通过The Unlicense发布到公有领域。您可以在无需提及作者的情况下自由使用它。如果您希望为该项目做出贡献,那么您必须以相同的许可证添加您的贡献。
依赖项
~0.2–0.9MB
~15K SLoC