#text #unicode #unicode-id #tr31

no-std unicode-id

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

4 releases

Uses old Rust 2015

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

#100 in Text processing

Download history 29616/week @ 2022-11-30 27959/week @ 2022-12-07 29535/week @ 2022-12-14 13006/week @ 2022-12-21 11482/week @ 2022-12-28 22098/week @ 2023-01-04 24300/week @ 2023-01-11 18447/week @ 2023-01-18 23815/week @ 2023-01-25 23585/week @ 2023-02-01 27559/week @ 2023-02-08 34409/week @ 2023-02-15 33504/week @ 2023-02-22 25587/week @ 2023-03-01 34526/week @ 2023-03-08 22900/week @ 2023-03-15

122,046 downloads per month
Used in 207 crates (4 directly)

MIT/Apache

59KB
1.5K SLoC

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

lib.rs:

Determine if a char is a valid identifier for a parser and/or lexer according to Unicode Standard Annex #31 rules.

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.

No runtime deps