allow selectors to begin with 0-9

This commit is contained in:
ConnorSkees 2020-04-04 21:05:22 -04:00
parent cdcb84b7b2
commit 598f79ab50

View File

@ -282,7 +282,7 @@ impl<'a> StyleSheetParser<'a> {
let mut rules: Vec<Stmt> = Vec::new(); let mut rules: Vec<Stmt> = Vec::new();
while let Some(Token { kind, .. }) = self.lexer.peek() { while let Some(Token { kind, .. }) = self.lexer.peek() {
match kind { match kind {
'a'..='z' | 'A'..='Z' | '_' | '-' 'a'..='z' | 'A'..='Z' | '_' | '-' | '0'..='9'
| '[' | '#' | ':' | '*' | '%' | '.' | '>' => rules | '[' | '#' | ':' | '*' | '%' | '.' | '>' => rules
.extend(self.eat_rules(&Selector::new(), &mut Scope::new())?), .extend(self.eat_rules(&Selector::new(), &mut Scope::new())?),
&'\t' | &'\n' | ' ' => { &'\t' | &'\n' | ' ' => {
@ -397,7 +397,7 @@ impl<'a> StyleSheetParser<'a> {
return Err("expected selector.".into()); return Err("expected selector.".into());
} }
_ => match dbg!(self.lexer.next()) { _ => match dbg!(self.lexer.next()) {
Some(Token { pos, .. }) => self.error(pos, "unexpected toplevel token"), Some(..) => todo!("unexpected toplevel token"),
_ => unsafe { std::hint::unreachable_unchecked() }, _ => unsafe { std::hint::unreachable_unchecked() },
} }
}; };