From 613ccc3fba5316b4357e2a90f40ad2e22fd9ebd1 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Mon, 5 Sep 2022 14:56:35 -0400 Subject: [PATCH] Add skipIndentLevel function --- parser/parser.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/parser/parser.go b/parser/parser.go index 43f344a..bb51097 100644 --- a/parser/parser.go +++ b/parser/parser.go @@ -150,3 +150,18 @@ func (parser *ParsingOperation) previousToken () { parser.token = parser.tokens[parser.tokenIndex] return } + +// skipIndentLevel advances the parser, ignoring every line with an indentation +// equal to or greater than the specified indent. +func (parser *ParsingOperation) skipIndentLevel (indent int) (err error) { + for { + err = parser.nextToken() + if err != nil { return } + + if parser.token.Is(lexer.TokenKindIndent) && + parser.token.Value().(int) < indent { + + return + } + } +}