diff --git a/baselement.go b/baselement.go index 8ffffe5..2bf3f27 100644 --- a/baselement.go +++ b/baselement.go @@ -67,6 +67,6 @@ func (e *BaseElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error out = out.Blink() } - w.Write([]byte(aurora.Sprintf("%s", out))) - return nil + _, err := w.Write([]byte(aurora.Sprintf("%s", out))) + return err } diff --git a/image.go b/image.go index cb3075d..83cbd96 100644 --- a/image.go +++ b/image.go @@ -15,7 +15,10 @@ func (e *ImageElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) erro Token: string(node.LastChild.Literal), Style: Image, } - el.Render(w, node.LastChild, tr) + err := el.Render(w, node.LastChild, tr) + if err != nil { + return err + } } if len(node.LinkData.Destination) > 0 { el := &BaseElement{ @@ -24,7 +27,10 @@ func (e *ImageElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) erro Suffix: "]", Style: Link, } - el.Render(w, node, tr) + err := el.Render(w, node, tr) + if err != nil { + return err + } } return nil diff --git a/link.go b/link.go index 87879df..8838921 100644 --- a/link.go +++ b/link.go @@ -13,14 +13,20 @@ func (e *LinkElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error if node.LastChild != nil { if node.LastChild.Type == bf.Image { el := tr.NewElement(node.LastChild) - el.Renderer.Render(w, node.LastChild, tr) + err := el.Renderer.Render(w, node.LastChild, tr) + if err != nil { + return err + } } if len(node.LastChild.Literal) > 0 { el := &BaseElement{ Token: string(node.LastChild.Literal), Style: LinkText, } - el.Render(w, node.LastChild, tr) + err := el.Render(w, node.LastChild, tr) + if err != nil { + return err + } } } if len(node.LinkData.Destination) > 0 { @@ -30,7 +36,10 @@ func (e *LinkElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error Suffix: ")", Style: Link, } - el.Render(w, node, tr) + err := el.Render(w, node, tr) + if err != nil { + return err + } } return nil