X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/209df5ce842e24b3c6e99a322fe3d98ab2df720b..b473b56ebf00e6b4d6cf16664f93e1958fbe2080:/terminal_markdown.go?ds=inline diff --git a/terminal_markdown.go b/terminal_markdown.go index a13a4e9..73ae7d5 100644 --- a/terminal_markdown.go +++ b/terminal_markdown.go @@ -46,7 +46,7 @@ func terminalMarkdown(text string, columns int) []string { index = end case strings.TrimSpace(line) == "---": out = append(out, "\x1b[2m"+strings.Repeat("-", columns)+"\x1b[0m") - case index+1 < len(lines) && terminalMarkdownSeparator(lines[index+1]) && len(terminalMarkdownCells(line)) > 1: + case index+1 < len(lines) && terminalMarkdownSeparator(lines[index+1]): rows := [][]string{terminalMarkdownCells(line)} index += 2 for index < len(lines) && strings.Contains(lines[index], "|") && strings.TrimSpace(lines[index]) != "" { @@ -135,7 +135,7 @@ func terminalMarkdownPlain(text string, style int) []TerminalMarkdownGlyph { // terminalMarkdownSeparator tells if a line is a Markdown table separator. func terminalMarkdownSeparator(line string) bool { cells := terminalMarkdownCells(line) - if len(cells) < 2 { + if !strings.Contains(line, "|") { return false } @@ -219,10 +219,14 @@ func terminalMarkdownTable(rows [][]string, columns int) []string { if required > columns { var out []string - for _, row := range cells { - for _, cell := range row { + for row, values := range cells { + for _, cell := range values { out = append(out, terminalMarkdownLines(cell, columns, "", false)...) } + + if row == 0 { + out = append(out, "\x1b[2m"+strings.Repeat("-", columns)+"\x1b[0m") + } } return out