diff --git a/codeblock.go b/codeblock.go index baba628..2536d8a 100644 --- a/codeblock.go +++ b/codeblock.go @@ -23,8 +23,10 @@ func (e *CodeBlockElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) } iw := &IndentWriter{ - Indent: indent, - Forward: w, + Indent: indent, + Forward: &AnsiWriter{ + Forward: w, + }, } if len(theme) > 0 { @@ -36,5 +38,6 @@ func (e *CodeBlockElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) Token: string(e.Code), Style: CodeBlock, } + return el.Render(iw, node, tr) } diff --git a/document.go b/document.go index 1c90aba..98e6714 100644 --- a/document.go +++ b/document.go @@ -30,19 +30,21 @@ func (e *DocumentElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) e } iw := &IndentWriter{ - Indent: indent, - Forward: w, + Indent: indent, + Forward: &AnsiWriter{ + Forward: w, + }, } - _, err := iw.Write(tr.document.Bytes()) if err != nil { return err } + tr.document.Reset() tr.blockStyle.Pop() if suffix != "" { - renderText(iw, rules, suffix) + renderText(w, rules, suffix) } return nil } diff --git a/table.go b/table.go index 5e69381..2a15468 100644 --- a/table.go +++ b/table.go @@ -29,8 +29,10 @@ func (e *TableElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) erro indent = rules.Indent } iw := &IndentWriter{ - Indent: indent, - Forward: w, + Indent: indent, + Forward: &AnsiWriter{ + Forward: w, + }, } tr.table.writer = tablewriter.NewWriter(iw)