#终端大小 #终端 #控制台 #工具 #原始 #大小

terminal-utils

用于处理终端的一组工具

1 个不稳定版本

0.1.0 2023年8月28日

#587 in 命令行界面

MIT 许可证

14KB
256

terminal-utils

Crates.io Documentation License

此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