#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

#78 in Text processing

Download history 128439/week @ 2024-07-23 135683/week @ 2024-07-30 145288/week @ 2024-08-06 164563/week @ 2024-08-13 195001/week @ 2024-08-20 154913/week @ 2024-08-27 171317/week @ 2024-09-03 179635/week @ 2024-09-10 161364/week @ 2024-09-17 195199/week @ 2024-09-24 193774/week @ 2024-10-01 210608/week @ 2024-10-08 205380/week @ 2024-10-15 223605/week @ 2024-10-22 220825/week @ 2024-10-29 179807/week @ 2024-11-05

857,919 downloads per month
Used in 432 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