in lib/src/usage.dart [202:233]
void _writeLine(int column, String text) {
// Write any pending newlines.
while (_newlinesNeeded > 0) {
_buffer.write('\n');
_newlinesNeeded--;
}
// Advance until we are at the right column (which may mean wrapping around
// to the next line.
while (_currentColumn != column) {
if (_currentColumn < _columnCount - 1) {
_buffer.write(' ' * _columnWidths[_currentColumn]);
} else {
_buffer.write('\n');
}
_currentColumn = (_currentColumn + 1) % _columnCount;
}
if (column < _columnWidths.length) {
// Fixed-size column, so pad it.
_buffer.write(text.padRight(_columnWidths[column]));
} else {
// The last column, so just write it.
_buffer.write(text);
}
// Advance to the next column.
_currentColumn = (_currentColumn + 1) % _columnCount;
// If we reached the last column, we need to wrap to the next line.
if (column == _columnCount - 1) _newlinesNeeded++;
}