1package ansi
2
3import (
4 "io"
5)
6
7// A TaskElement is used to render tasks inside a todo-list.
8type TaskElement struct {
9 Checked bool
10}
11
12// Render renders a TaskElement.
13func (e *TaskElement) Render(w io.Writer, ctx RenderContext) error {
14 var el *BaseElement
15
16 pre := ctx.options.Styles.Task.Unticked
17 if e.Checked {
18 pre = ctx.options.Styles.Task.Ticked
19 }
20
21 el = &BaseElement{
22 Prefix: pre,
23 Style: ctx.options.Styles.Task.StylePrimitive,
24 }
25
26 return el.Render(w, ctx)
27}