Handle renderer errors

This commit is contained in:
Christian Muehlhaeuser
2019-11-26 03:58:33 +01:00
parent 8f083a1043
commit f47f525238
3 changed files with 22 additions and 7 deletions
+12 -3
View File
@@ -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