#unicode #unicode-text #text #unicode-id #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

#101 in Text processing

Download history 234818/week @ 2025-01-13 173895/week @ 2025-01-20 172625/week @ 2025-01-27 180685/week @ 2025-02-03 193580/week @ 2025-02-10 200336/week @ 2025-02-17 252099/week @ 2025-02-24 243788/week @ 2025-03-03 246266/week @ 2025-03-10 243963/week @ 2025-03-17 250626/week @ 2025-03-24 227049/week @ 2025-03-31 250299/week @ 2025-04-07 217336/week @ 2025-04-14 234732/week @ 2025-04-21 178375/week @ 2025-04-28

886,067 downloads per month
Used in 483 crates (3 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