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

Method consume_whitespace

crates/css_lexer/src/private.rs:175–200  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

173 }
174
175 fn consume_whitespace(&mut self) -> (u32, Whitespace) {
176 let mut i: u32 = 0;
177 let mut style = Whitespace::none();
178 loop {
179 let remaining = self.remaining_bytes();
180 let non_space = remaining.iter().position(|&b| b != b' ').unwrap_or(remaining.len());
181 if non_space > 0 {
182 self.advance_n(non_space);
183 i += non_space as u32;
184 style |= Whitespace::Space;
185 }
186 let b = self.peek_byte(0);
187 if b == b'\t' {
188 self.pos += 1;
189 i += 1;
190 style |= Whitespace::Tab;
191 } else if b == b'\n' || b == b'\r' || b == 0x0C {
192 self.pos += 1;
193 i += 1;
194 style |= Whitespace::Newline;
195 } else {
196 break;
197 }
198 }
199 (i, style)
200 }
201
202 fn consume_ident_sequence(&mut self, atoms: &dyn DynAtomSet) -> (u32, bool, bool, bool, u32, bool) {
203 let mut dashed_ident = false;

Callers 2

consume_url_sequenceMethod · 0.80
read_next_tokenMethod · 0.80

Calls 5

remaining_bytesMethod · 0.80
iterMethod · 0.80
advance_nMethod · 0.80
peek_byteMethod · 0.80
lenMethod · 0.45

Tested by

no test coverage detected