Crate tty_text

source ·
Expand description

tty-text

Provides agnostic text editing state management.

Examples

For more examples, see Text.

use tty_text::{Text, Key};

let mut text = Text::from("Hello,\nworld!", (1, 0), true);

// Move cursor from "e" to "w"
text.handle_input(Key::Down);
text.handle_input(Key::Down);
text.handle_input(Key::Left);

// Combine into single line, add " "
text.handle_input(Key::Backspace);
text.handle_input(Key::Char(' '));

// Add another "!"
text.set_cursor((13, 0));
text.handle_input(Key::Char('!'));

assert_eq!("Hello, world!!", text.value());
assert_eq!((14, 0), text.cursor());

Structs

A multi-line text editor with cursor management capabilities.

Enums