1 个不稳定版本
0.1.0 | 2023年8月28日 |
---|
#587 in 命令行界面
14KB
256 行
terminal-utils
此Crate提供用于处理终端的工具。
终端大小
let size = terminal_utils::size().unwrap();
println!("The terminal is {}x{} characters.", size.width, size.height);
原始模式
let raw_mode_guard = terminal_utils::enable_raw_mode().unwrap();
println!("Raw mode is enabled.");
let is_raw_mode_enabled = terminal_utils::is_raw_mode_enabled().unwrap();
assert!(is_raw_mode_enabled);
// Previous terminal mode is restored when the guard is dropped.
drop(raw_mode_guard);
println!("Raw mode is disabled.");
调整大小信号
此功能仅在启用tokio
功能时可用。默认启用。
let mut resize_rx = terminal_utils::on_resize().unwrap();
tokio::spawn(async move {
loop {
resize_rx.changed().await.unwrap();
let size = resize_rx.borrow();
println!("terminal size changed: {:?}", size);
}
});
依赖项
~2–44MB
~630K SLoC