in command.line/java/com/jetbrains/teamcity/Util.java [265:292]
public String toString() {
final LinkedList<String[]> buffer = new LinkedList<String[]>(rows);
if (myHeader != null) {
buffer.add(0, myHeader);
}
// collect max lengths of columns
final int[] maxSizes = new int[myNumColumns];
for (final String[] row : buffer) {
for (int i = 0; i < myNumColumns; i++) {
if (row[i] != null) {
maxSizes[i] = Math.max(row[i].length(), maxSizes[i]);
}
}
}
// so, let's format result according to maxSizes...
final StringBuffer result = new StringBuffer();
for (final String[] row : buffer) {
for (int i = 0; i < myNumColumns; i++) {
final String column = row[i] != null ? row[i].replace("\n", "\\") : "";
final int maxStringLenght = maxSizes[i];
result.append(String.format("%1$-" + ((i != (myNumColumns - 1)) ? (maxStringLenght + 1) : maxStringLenght) + "s", column));
}
result.append("\n");
}
return result.toString();
}