#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

#136 in Text processing

Download history 187863/week @ 2024-11-21 128231/week @ 2024-11-28 203292/week @ 2024-12-05 222696/week @ 2024-12-12 93078/week @ 2024-12-19 72131/week @ 2024-12-26 192584/week @ 2025-01-02 243365/week @ 2025-01-09 197820/week @ 2025-01-16 175053/week @ 2025-01-23 171775/week @ 2025-01-30 194424/week @ 2025-02-06 179367/week @ 2025-02-13 247673/week @ 2025-02-20 239427/week @ 2025-02-27 203965/week @ 2025-03-06

914,451 downloads per month
Used in 467 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