| 91 | } |
| 92 | |
| 93 | func (tw *TableWriter) writeRow(w io.Writer, row tableRow, widths []int) { |
| 94 | cells := make([]string, len(widths)) |
| 95 | for i := range widths { |
| 96 | var plain, colored string |
| 97 | if i < len(row.plain) { |
| 98 | plain = row.plain[i] |
| 99 | } |
| 100 | if i < len(row.colored) { |
| 101 | colored = row.colored[i] |
| 102 | } |
| 103 | padding := widths[i] - len(plain) |
| 104 | if padding < 0 { |
| 105 | padding = 0 |
| 106 | } |
| 107 | cells[i] = colored + strings.Repeat(" ", padding) |
| 108 | } |
| 109 | fmt.Fprintln(w, strings.Join(cells, tw.gap)) |
| 110 | } |
| 111 | |
| 112 | // StripANSI removes ANSI escape sequences from a string. |
| 113 | func StripANSI(s string) string { |