in lib/src/scanner.dart [795:831]
void _scanToNextToken() {
var afterLineBreak = false;
while (true) {
// Allow the BOM to start a line.
if (_scanner.column == 0) _scanner.scan('\uFEFF');
// Eat whitespace.
//
// libyaml disallows tabs after "-", "?", or ":", but the spec allows
// them. See section 6.2: http://yaml.org/spec/1.2/spec.html#id2778241.
while (_scanner.peekChar() == SP ||
((!_inBlockContext || !afterLineBreak) &&
_scanner.peekChar() == TAB)) {
_scanner.readChar();
}
if (_scanner.peekChar() == TAB) {
_scanner.error('Tab characters are not allowed as indentation.',
length: 1);
}
// Eat a comment until a line break.
_skipComment();
// If we're at a line break, eat it.
if (_isBreak) {
_skipLine();
// In the block context, a new line may start a simple key.
if (_inBlockContext) _simpleKeyAllowed = true;
afterLineBreak = true;
} else {
// Otherwise we've found a token.
break;
}
}
}