readLine method
Reads a line of input (blocking).
Returns null on EOF.
Implementation
@override
String? readLine() {
// Best-effort, blocking line read from the tty.
try {
while (true) {
final b = readByte();
if (b < 0) {
if (_lineBuf.isEmpty) return null;
final s = io.systemEncoding.decode(_lineBuf);
_lineBuf.clear();
return s;
}
if (b == 0x0a /* \\n */ ) {
final s = io.systemEncoding.decode(_lineBuf);
_lineBuf.clear();
return s;
}
if (b != 0x0d /* \\r */ ) _lineBuf.add(b);
}
} catch (_) {
return null;
}
}