Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mekaem/graphmemes
A zero-allocation, no-std grapheme cluster iterator
https://github.com/mekaem/graphmemes
crate grapheme no-std rust
Last synced: 6 days ago
JSON representation
A zero-allocation, no-std grapheme cluster iterator
- Host: GitHub
- URL: https://github.com/mekaem/graphmemes
- Owner: mekaem
- License: mpl-2.0
- Created: 2024-10-29T09:14:05.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-08T00:25:57.000Z (about 2 months ago)
- Last Synced: 2024-12-22T06:56:01.085Z (7 days ago)
- Topics: crate, grapheme, no-std, rust
- Language: Rust
- Homepage:
- Size: 137 KB
- Stars: 12
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# graphmemes
A `#![no_std]` compatible, zero-allocation Unicode grapheme cluster iterator.
## Key Features
- **Zero-Allocation Design**: Fixed-size buffer implementation with no heap allocations
- **Unicode Processing**:
- Complete UAX #29 grapheme cluster boundary detection
- Efficient bit pattern-based boundary rules
- Support for combining marks, emoji, and ZWJ sequences
- Regional indicator (flag) handling
- RTL text with combining marks
- **ANSI Support**:
- Optional ANSI escape sequence counting
- Safe sequence validation and processing## #![no_std] Support
This crate is `#![no_std]` compatible and makes zero heap allocations. All operations use fixed-size buffers and stack-only data structures.
## Dependencies
```toml
[dependencies]
owo-colors = "4.1.0"
```## License
This project is licensed under [![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](LICENSE)