#unicode-characters #unicode #text #tr31

no-std unicode-id

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

5 releases

Uses old Rust 2015

0.3.4 Sep 13, 2023
0.3.3 Sep 14, 2022
0.3.2 Apr 8, 2022
0.3.1 Apr 8, 2022
0.3.0 Jan 29, 2022

#56 in Text processing

Download history 98540/week @ 2024-01-03 104972/week @ 2024-01-10 116694/week @ 2024-01-17 109434/week @ 2024-01-24 114423/week @ 2024-01-31 122674/week @ 2024-02-07 102723/week @ 2024-02-14 121699/week @ 2024-02-21 125254/week @ 2024-02-28 120804/week @ 2024-03-06 125541/week @ 2024-03-13 127819/week @ 2024-03-20 146737/week @ 2024-03-27 148200/week @ 2024-04-03 152155/week @ 2024-04-10 115242/week @ 2024-04-17

586,608 downloads per month
Used in 342 crates (2 directly)

MIT/Apache

60KB
1.5K SLoC

[!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.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