#unicode-characters #unicode #xid #text

no-std unicode-xid

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

10 releases

Uses old Rust 2015

0.2.4 Sep 15, 2022
0.2.3 May 2, 2022
0.2.2 Apr 29, 2021
0.2.1 Jun 24, 2020
0.0.2 Jul 9, 2015

#9 in Text processing

Download history 874635/week @ 2024-01-12 985067/week @ 2024-01-19 950951/week @ 2024-01-26 978105/week @ 2024-02-02 1007825/week @ 2024-02-09 986157/week @ 2024-02-16 1080556/week @ 2024-02-23 1036385/week @ 2024-03-01 1055661/week @ 2024-03-08 1035069/week @ 2024-03-15 1060896/week @ 2024-03-22 1032524/week @ 2024-03-29 1029962/week @ 2024-04-05 1062142/week @ 2024-04-12 1081740/week @ 2024-04-19 825158/week @ 2024-04-26

4,198,291 downloads per month
Used in 11,544 crates (114 directly)

MIT/Apache

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