github.com/charmbracelet/glamour@v0.7.0/ansi/task.go (about)

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