mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-05 16:37:19 -04:00
Children in a Document or Paragraph element inherit their parent's color styles
This commit is contained in:
+1
-1
@@ -68,7 +68,7 @@ func (e *BaseElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error
|
|||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
rules := tr.style[e.Style]
|
rules := cascadeStyles(tr.blockStyle, tr.style[e.Style])
|
||||||
if rules == nil {
|
if rules == nil {
|
||||||
_, _ = w.Write([]byte(e.Token))
|
_, _ = w.Write([]byte(e.Token))
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ type DocumentElement struct {
|
|||||||
func (e *DocumentElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error {
|
func (e *DocumentElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer) error {
|
||||||
rules := tr.style[Document]
|
rules := tr.style[Document]
|
||||||
if rules != nil {
|
if rules != nil {
|
||||||
|
tr.blockStyle.Push(rules)
|
||||||
if rules.Prefix != "" {
|
if rules.Prefix != "" {
|
||||||
renderText(w, rules, rules.Prefix)
|
renderText(w, rules, rules.Prefix)
|
||||||
}
|
}
|
||||||
@@ -38,6 +39,7 @@ func (e *DocumentElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer) e
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
tr.document.Reset()
|
tr.document.Reset()
|
||||||
|
tr.blockStyle.Pop()
|
||||||
|
|
||||||
if suffix != "" {
|
if suffix != "" {
|
||||||
renderText(iw, rules, suffix)
|
renderText(iw, rules, suffix)
|
||||||
|
|||||||
@@ -22,10 +22,11 @@ type TermRenderer struct {
|
|||||||
BaseURL string
|
BaseURL string
|
||||||
WordWrap int
|
WordWrap int
|
||||||
|
|
||||||
style map[StyleType]*ElementStyle
|
style map[StyleType]*ElementStyle
|
||||||
document bytes.Buffer
|
document bytes.Buffer
|
||||||
paragraph *bytes.Buffer
|
paragraph *bytes.Buffer
|
||||||
table TableElement
|
blockStyle StyleStack
|
||||||
|
table TableElement
|
||||||
}
|
}
|
||||||
|
|
||||||
func Render(in string, stylePath string) ([]byte, error) {
|
func Render(in string, stylePath string) ([]byte, error) {
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ func (e *ParagraphElement) Render(w io.Writer, node *bf.Node, tr *TermRenderer)
|
|||||||
if rules == nil {
|
if rules == nil {
|
||||||
_, _ = w.Write([]byte(pre))
|
_, _ = w.Write([]byte(pre))
|
||||||
} else {
|
} else {
|
||||||
|
tr.blockStyle.Push(rules)
|
||||||
renderText(w, rules, pre)
|
renderText(w, rules, pre)
|
||||||
|
|
||||||
if rules.Prefix != "" {
|
if rules.Prefix != "" {
|
||||||
@@ -52,5 +53,6 @@ func (e *ParagraphElement) Finish(w io.Writer, node *bf.Node, tr *TermRenderer)
|
|||||||
_, err := iw.Write(reflow.ReflowBytes(tr.paragraph.Bytes(), tr.WordWrap-int(indent)))
|
_, err := iw.Write(reflow.ReflowBytes(tr.paragraph.Bytes(), tr.WordWrap-int(indent)))
|
||||||
tr.paragraph.Reset()
|
tr.paragraph.Reset()
|
||||||
tr.paragraph = nil
|
tr.paragraph = nil
|
||||||
|
tr.blockStyle.Pop()
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user