pub const REVERSE_SOLIDUS: char = '\u{005C}';
pub const LF: char = '\u{000A}';
pub const LEFT_PARENTHESIS: char = '\u{0028}';
pub const RIGHT_PARENTHESIS: char = '\u{0029}';
pub const HYPHEN_MINUS: char = '\u{002D}';
pub const PERCENTAGE_SIGN: char = '\u{0025}';
pub(crate) const CR: char = '\u{000D}';
pub(crate) const FF: char = '\u{000C}';
pub const fn is_ident_start_code_point(c: char) -> bool {
match c {
'\u{0041}'..='\u{005A}' | '\u{0061}'..='\u{007A}' => true,
'\u{00B7}'
| '\u{00C0}'..='\u{00D6}'
| '\u{00D8}'..='\u{00F6}'
| '\u{00F8}'..='\u{037D}'
| '\u{037F}'..='\u{1FFF}'
| '\u{200C}'
| '\u{200D}'
| '\u{203F}'
| '\u{2040}'
| '\u{2070}'..='\u{218F}'
| '\u{2C00}'..='\u{2FEF}'
| '\u{3001}'..='\u{D7FF}'
| '\u{F900}'..='\u{FDCF}'
| '\u{FDF0}'..='\u{FFFD}'
| '\u{10000}'.. => true,
'\u{005F}' => true,
_ => false,
}
}
pub const fn is_ident_code_point(c: char) -> bool {
match c {
'\u{0030}'..='\u{0039}' => true,
'\u{002D}' => true,
c => is_ident_start_code_point(c),
}
}