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 命令行界面

Download history 88/week @ 2024-04-01 33/week @ 2024-04-08 41/week @ 2024-04-15 66/week @ 2024-04-22 32/week @ 2024-04-29 39/week @ 2024-05-06 45/week @ 2024-05-13 53/week @ 2024-05-20 54/week @ 2024-05-27 57/week @ 2024-06-03 50/week @ 2024-06-10 56/week @ 2024-06-17 59/week @ 2024-06-24 15/week @ 2024-07-01 54/week @ 2024-07-08 43/week @ 2024-07-15

每月下载量178次
用于 3 crates

Zlib许可证

37KB
504 行代码(不含注释)

License:0BSD CratesIO Travis-ci Appveyor

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