public void WriteTable(TabularOutput table) { foreach (var row in table.Data) { for (var cellIndex = 0; cellIndex < row.Count; cellIndex++) { var colWidth = table.GetColumnWidth(cellIndex); var colStart = table.GetColumnStart(cellIndex); var realColWidth = colStart + colWidth > Console.BufferWidth ? Console.BufferWidth - colStart : colWidth; WriteCell(row[cellIndex], colStart, realColWidth); } WriteLine(""); } }