From 00c809072e8e1874d8371ce16a13534902bde8dd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Mon, 9 Dec 2019 12:59:16 +0100 Subject: [PATCH] Render prefix & suffix around chroma code-blocks --- codeblock.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/codeblock.go b/codeblock.go index 071575d..53ee1a5 100644 --- a/codeblock.go +++ b/codeblock.go @@ -12,6 +12,8 @@ type CodeBlockElement struct { } func (e *CodeBlockElement) Render(w io.Writer, ctx RenderContext) error { + bs := ctx.blockStack + var indent uint var margin uint rules := ctx.style[CodeBlock] @@ -26,7 +28,7 @@ func (e *CodeBlockElement) Render(w io.Writer, ctx RenderContext) error { iw := &IndentWriter{ Indent: indent + margin, IndentFunc: func(wr io.Writer) { - renderText(w, ctx.blockStack.Current().Style, " ") + renderText(w, bs.Current().Style, " ") }, Forward: &AnsiWriter{ Forward: w, @@ -34,7 +36,10 @@ func (e *CodeBlockElement) Render(w io.Writer, ctx RenderContext) error { } if len(theme) > 0 { - return quick.Highlight(iw, e.Code, e.Language, "terminal16m", theme) + renderText(iw, bs.Current().Style, rules.Prefix) + err := quick.Highlight(iw, e.Code, e.Language, "terminal16m", theme) + renderText(iw, bs.Current().Style, rules.Suffix) + return err } // fallback rendering