fix(parser): skip multi nested dedent

This commit is contained in:
GreasySlug 2023-04-05 23:20:09 +09:00
parent 0dba4da58a
commit 0b36b48642

View file

@ -264,11 +264,19 @@ impl Parser {
}
fn until_dedent(&mut self) {
let mut nest_cnt = 1;
while let Some(t) = self.peek() {
match t.kind {
Indent => {
self.skip();
nest_cnt += 1;
}
Dedent => {
self.skip();
return;
nest_cnt -= 1;
if nest_cnt <= 0 {
return;
}
}
EOF => return,
_ => {