#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

#61 in Text processing

Download history 97333/week @ 2024-01-05 108684/week @ 2024-01-12 120328/week @ 2024-01-19 99619/week @ 2024-01-26 122764/week @ 2024-02-02 119874/week @ 2024-02-09 103410/week @ 2024-02-16 122954/week @ 2024-02-23 128107/week @ 2024-03-01 115384/week @ 2024-03-08 131388/week @ 2024-03-15 134987/week @ 2024-03-22 154724/week @ 2024-03-29 140317/week @ 2024-04-05 152474/week @ 2024-04-12 112969/week @ 2024-04-19

587,064 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