3 unstable releases
0.2.1 | Sep 18, 2024 |
---|---|
0.2.0 |
|
0.1.3 | Jun 16, 2022 |
0.1.1 |
|
0.1.0 | Apr 12, 2021 |
#341 in Text processing
Used in 3 crates
21KB
261 lines
Text Editing Library
A simple string with utilities for editing, specifically designed to work with non-ASCII strings.
Features
- Provides a
TextLine
struct that represents an editable text line. - Supports efficient insertion, removal, and manipulation of characters and ranges.
- Handles non-ASCII characters correctly, taking into account their multi-byte nature.
- Offers convenient methods for moving the text cursor forward, backward, and skipping over words.
- Implements the
Display
trait for easy conversion to a string.
Documentation
API documentation can be found at docs.rs/text-editing.
Example
use text_editing::TextLine;
let mut line = TextLine::from_string("Hello, 🌍!".into());
line.insert(7, 'w');
assert_eq!(line.as_str(), "Hello, w🌍!");
let removed_char = line.remove(7);
assert_eq!(removed_char, 'w');
assert_eq!(line.as_str(), "Hello, 🌍!");
lib.rs
:
Utilities to simplify text editing when implementing text editors. *