grid static method
Display a grid of items (auto-fit to terminal width)
Implementation
static void grid(List<String> items) {
if (items.isEmpty) return;
final width = terminalWidth;
final maxItemLength = items.map((e) => e.length).reduce((a, b) => a > b ? a : b);
final columnWidth = maxItemLength + 4;
final columns = (width / columnWidth).floor().clamp(1, items.length);
for (var i = 0; i < items.length; i += columns) {
final row = items.skip(i).take(columns).toList();
final line = row.map((item) => item.padRight(columnWidth)).join();
stdout.writeln(line);
}
}