mirror of
https://github.com/rwinkhart/glamour-temp-MUTN.git
synced 2026-09-06 08:57:14 -04:00
Make TermRenderer io.Reader & io.WriteCloser compatible
This commit is contained in:
@@ -19,7 +19,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type TermRenderer struct {
|
type TermRenderer struct {
|
||||||
md goldmark.Markdown
|
md goldmark.Markdown
|
||||||
|
buf bytes.Buffer
|
||||||
|
renderBuf bytes.Buffer
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render initializes a new TermRenderer and renders a markdown with a specific
|
// Render initializes a new TermRenderer and renders a markdown with a specific
|
||||||
@@ -81,6 +83,24 @@ func NewTermRendererFromBytes(b []byte, options ansi.Options) (*TermRenderer, er
|
|||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (tr *TermRenderer) Read(b []byte) (int, error) {
|
||||||
|
return tr.renderBuf.Read(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tr *TermRenderer) Write(b []byte) (int, error) {
|
||||||
|
return tr.buf.Write(b)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tr *TermRenderer) Close() error {
|
||||||
|
err := tr.md.Convert(tr.buf.Bytes(), &tr.renderBuf)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
tr.buf.Reset()
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// Render returns the markdown rendered into a string.
|
// Render returns the markdown rendered into a string.
|
||||||
func (tr *TermRenderer) Render(in string) (string, error) {
|
func (tr *TermRenderer) Render(in string) (string, error) {
|
||||||
b, err := tr.RenderBytes([]byte(in))
|
b, err := tr.RenderBytes([]byte(in))
|
||||||
|
|||||||
Reference in New Issue
Block a user