MCPcopy Create free account
hub / github.com/csskit/csskit / consume_hex_escape

Method consume_hex_escape

crates/css_lexer/src/syntax/parse_escape.rs:26–46  ·  view source on GitHub ↗
(&mut self, first_digit: char)

Source from the content-addressed store, hash-verified

24
25impl<'a> ParseEscape for Chars<'a> {
26 fn consume_hex_escape(&mut self, first_digit: char) -> (u32, u8) {
27 let mut value = first_digit.to_digit(16).unwrap();
28 let mut i = 1u8; // We already consumed one hex digit
29
30 // Continue consuming up to 5 more hex digits (total of 6)
31 while i < 6 {
32 if let Some(next_char) = self.as_str().chars().next() {
33 if let Some(hex_value) = next_char.to_digit(16) {
34 self.next();
35 value = (value << 4) | hex_value;
36 i += 1;
37 } else {
38 break;
39 }
40 } else {
41 break;
42 }
43 }
44
45 (value, i)
46 }
47
48 fn consume_escape_whitespace(&mut self) -> u8 {
49 if let Some(next_char) = self.as_str().chars().next()

Callers 1

parse_escape_sequenceMethod · 0.45

Calls 2

nextMethod · 0.45
as_strMethod · 0.45

Tested by

no test coverage detected