#unicode-characters #unicode #unicode-text #xid

no-std unicode-xid

Determine whether characters have the XID_Start or XID_Continue properties according to Unicode Standard Annex #31

12 releases

Uses old Rust 2015

0.2.6 Sep 19, 2024
0.2.4 Sep 15, 2022
0.2.3 May 2, 2022
0.2.2 Apr 29, 2021
0.0.2 Jul 9, 2015

#240 in Text processing

Download history 1337774/week @ 2024-08-24 1292538/week @ 2024-08-31 1349361/week @ 2024-09-07 1249657/week @ 2024-09-14 1369306/week @ 2024-09-21 1385709/week @ 2024-09-28 1464732/week @ 2024-10-05 1428332/week @ 2024-10-12 1493684/week @ 2024-10-19 1431330/week @ 2024-10-26 1451957/week @ 2024-11-02 1422769/week @ 2024-11-09 1497327/week @ 2024-11-16 1288545/week @ 2024-11-23 1499847/week @ 2024-11-30 1353318/week @ 2024-12-07

5,887,075 downloads per month
Used in 13,877 crates (118 directly)

MIT/Apache

62KB
1.5K SLoC

unicode-xid

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

Build Status

Documentation

extern crate unicode_xid;

use unicode_xid::UnicodeXID;

fn main() {
    let ch = 'a';
    println!("Is {} a valid start of an identifier? {}", ch, UnicodeXID::is_xid_start(ch));
}

features

unicode-xid supports a no_std feature. This eliminates dependence on std, and instead uses equivalent functions from core.

changelog

0.2.6

  • Update to Unicode 16.0.0.

0.2.5

  • Update to Unicode 15.1.0.

0.2.4

  • Update to Unicode 15.0.0.
  • Replace const tables with static tables.

0.2.3

  • 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