terminal-utils

Crates.ioterminal-utils
lib.rsterminal-utils
version0.1.0
sourcesrc
created_at2023-08-28 16:06:06.497189
updated_at2023-08-28 16:06:06.497189
descriptionA collection of utilities for working with the terminal.
homepagehttps://github.com/atrox/terminal-utils
repositoryhttps://github.com/atrox/terminal-utils
max_upload_size
id957138
size15,581
Atrox (Atrox)

documentation

README

terminal-utils

Crates.io Documentation License

This crate provides utilities for working with terminals.

Terminal size

let size = terminal_utils::size().unwrap();
println!("The terminal is {}x{} characters.", size.width, size.height);

Raw mode

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.");

Resize signal

This feature is only available with the tokio feature. It is enabled by default.

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);
    }
});
Commit count: 1

cargo fmt