feat: iterator.While, slimmed comments in saccharine
This commit is contained in:
@@ -47,18 +47,7 @@ func scanToken(i *iterator.Iterator[rune]) (*Token, error) {
|
||||
return token.New(TokenHardBreak, index), nil
|
||||
case letter == '#':
|
||||
// Skip everything until the next newline or EOF.
|
||||
for !i.Done() {
|
||||
r, err := i.Next()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("error while parsing comment: %w", err)
|
||||
}
|
||||
|
||||
if r == '\n' {
|
||||
// Put the newline back so it can be processed as a soft break.
|
||||
i.Back()
|
||||
break
|
||||
}
|
||||
}
|
||||
i.While(func(r rune) bool { return r != '\n' })
|
||||
return nil, nil
|
||||
case unicode.IsSpace(letter):
|
||||
return nil, nil
|
||||
|
||||
Reference in New Issue
Block a user