in lib/src/scanner.dart [839:874]
Token? _scanDirective() {
var start = _scanner.state;
// Eat '%'.
_scanner.readChar();
Token token;
var name = _scanDirectiveName();
if (name == 'YAML') {
token = _scanVersionDirectiveValue(start);
} else if (name == 'TAG') {
token = _scanTagDirectiveValue(start);
} else {
warn('Warning: unknown directive.', _scanner.spanFrom(start));
// libyaml doesn't support unknown directives, but the spec says to ignore
// them and warn: http://yaml.org/spec/1.2/spec.html#id2781147.
while (!_isBreakOrEnd) {
_scanner.readChar();
}
return null;
}
// Eat the rest of the line, including any comments.
_skipBlanks();
_skipComment();
if (!_isBreakOrEnd) {
throw YamlException('Expected comment or line break after directive.',
_scanner.spanFrom(start));
}
_skipLine();
return token;
}