aboutsummaryrefslogtreecommitdiff
path: root/utf8parse/tests/utf-8-demo.rs
Commit message (Collapse)AuthorAge
* Switch parser to multi-byte processingChristian Duerr2025-01-09
| | | | | | | | | | | | | | | | | | | | | This patch overhauls the `Parser::advance` API to operate on byte slices instead of individual bytes, which allows for additional performance optimizations. VTE does not support C1 escapes and C0 escapes always start with an escape character. This makes it possible to simplify processing if a byte stream is determined to not contain any escapes. The `memchr` crate provides a battle-tested implementation for SIMD-accelerated byte searches, which is why this implementation makes use of it. VTE also only supports UTF8 characters in the ground state, which means that the new non-escape parsing path is able to rely completely on STD's `str::from_utf8` since `memchr` gives us the full length of the plain text character buffer. This allows us to completely remove `utf8parse` and all related code. We also make use of `memchr` in the synchronized escape handling in `ansi.rs`, since it relies heavily on scanning large amounts of text for the extension/termination escape sequences.
* Remove redundant `.to_string()`Dan Gohman2020-06-15
|
* Update to Rust 2018Christian Duerr2019-11-23
This moves all crates in the workspace to the latest Rust standard and resolves various style and formatting issues. Fixes #32.