text-editing

Crates.iotext-editing
lib.rstext-editing
version0.2.1
sourcesrc
created_at2021-04-12 22:20:43.286665
updated_at2024-09-18 19:08:52.788841
descriptionA simple string with utilities for editing
homepagehttps://gitlab.com/porky11/text-editing
repositoryhttps://gitlab.com/porky11/text-editing
max_upload_size
id382565
size20,244
Fabio Krapohl (porky11)

documentation

https://docs.rs/text-editing

README

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, 🌍!");
Commit count: 0

cargo fmt