def make_table(rows, insert_header=False):
    col_widths = [max(len(s) for s in col) for col in zip(*rows[1:])]
    rows[0] = [x[:l] for x, l in zip(rows[0], col_widths)]
    fmt = '\t'.join('%%-%ds' % width for width in col_widths)
    if insert_header:
        rows.insert(1, ['─' * width for width in col_widths])
    return '\n'.join(fmt % tuple(row) for row in rows)