mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-06 00:47:15 -04:00
Simplify & cleanup RenderNode
This commit is contained in:
@@ -90,14 +90,24 @@ func (tr *TermRenderer) RenderBytes(in []byte) []byte {
|
|||||||
func (tr *TermRenderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf.WalkStatus {
|
func (tr *TermRenderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf.WalkStatus {
|
||||||
// fmt.Fprintf(w, "%s %t", node.Type, entering)
|
// fmt.Fprintf(w, "%s %t", node.Type, entering)
|
||||||
e := tr.NewElement(node)
|
e := tr.NewElement(node)
|
||||||
if entering && e.Entering != "" {
|
|
||||||
fmt.Fprintf(w, "%s", e.Entering)
|
|
||||||
}
|
|
||||||
if !entering && e.Exiting != "" {
|
|
||||||
fmt.Fprintf(w, "%s", e.Exiting)
|
|
||||||
}
|
|
||||||
|
|
||||||
if !entering {
|
if entering {
|
||||||
|
if e.Entering != "" {
|
||||||
|
fmt.Fprintf(w, "%s", e.Entering)
|
||||||
|
}
|
||||||
|
|
||||||
|
if isChild(node) {
|
||||||
|
return bf.GoToNext
|
||||||
|
}
|
||||||
|
|
||||||
|
if e.Renderer != nil {
|
||||||
|
err := e.Renderer.Render(w, node, tr)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
return bf.Terminate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if e.Finisher != nil {
|
if e.Finisher != nil {
|
||||||
err := e.Finisher.Finish(w, node, tr)
|
err := e.Finisher.Finish(w, node, tr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -105,18 +115,9 @@ func (tr *TermRenderer) RenderNode(w io.Writer, node *bf.Node, entering bool) bf
|
|||||||
return bf.Terminate
|
return bf.Terminate
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return bf.GoToNext
|
|
||||||
}
|
|
||||||
|
|
||||||
if isChild(node) {
|
if e.Exiting != "" {
|
||||||
return bf.GoToNext
|
fmt.Fprintf(w, "%s", e.Exiting)
|
||||||
}
|
|
||||||
|
|
||||||
if e.Renderer != nil {
|
|
||||||
err := e.Renderer.Render(w, node, tr)
|
|
||||||
if err != nil {
|
|
||||||
fmt.Println(err)
|
|
||||||
return bf.Terminate
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user