#unicode-characters #unicode #unicode-text #tr31

no-std unicode-id

Determine whether characters have the ID_Start or ID_Continue properties according to Unicode Standard Annex #31

6 releases

Uses old Rust 2015

0.3.5 Sep 19, 2024
0.3.4 Sep 13, 2023
0.3.3 Sep 14, 2022
0.3.2 Apr 8, 2022
0.3.0 Jan 29, 2022

#104 in Text processing

Download history 198173/week @ 2024-08-17 174847/week @ 2024-08-24 147857/week @ 2024-08-31 190733/week @ 2024-09-07 152605/week @ 2024-09-14 193499/week @ 2024-09-21 192867/week @ 2024-09-28 214477/week @ 2024-10-05 200006/week @ 2024-10-12 215115/week @ 2024-10-19 229705/week @ 2024-10-26 216772/week @ 2024-11-02 237641/week @ 2024-11-09 218566/week @ 2024-11-16 137793/week @ 2024-11-23 148584/week @ 2024-11-30

783,599 downloads per month
Used in 455 crates (2 directly)

MIT/Apache

53KB
580 lines

[!IMPORTANT] Try the optimized version unicode-id-start.

unicode-id

Determine if a char is a valid identifier for a parser and/or lexer according to Unicode Standard Annex #31 rules.

This is a clone of unicode-xid.

use unicode_id::UnicodeID;

fn main() {
    let ch = 'a';
    println!("Is {} a valid start of an identifier? {}", ch, UnicodeID::is_id_start(ch));
}

features

unicode-id supports a no_std feature. This eliminates dependence on std, and instead uses equivalent functions from core.

changelog

0.3.5

  • Update to Unicode 16.0.0

0.3.4

  • Update to Unicode 15.1.0

0.3.3

  • Update to Unicode 15.0.0

0.3.2

  • Fix clippy warnings

0.3.0

  • Fork repo for unicode-id
  • Update to Unicode 14.0.0

0.2.2

  • Add an ASCII fast-path

0.2.1

  • Update to Unicode 13.0.0
  • Speed up lookup

0.2.0

  • Update to Unicode 12.1.0.

0.1.0

  • Initial release.

No runtime deps

Features