listitem.go

 1package ansi
 2
 3import (
 4	"io"
 5	"strconv"
 6)
 7
 8// An ItemElement is used to render items inside a list.
 9type ItemElement struct {
10	IsOrdered   bool
11	Enumeration uint
12}
13
14// Render renders an ItemElement.
15func (e *ItemElement) Render(w io.Writer, ctx RenderContext) error {
16	var el *BaseElement
17	if e.IsOrdered {
18		el = &BaseElement{
19			Style:  ctx.options.Styles.Enumeration,
20			Prefix: strconv.FormatInt(int64(e.Enumeration), 10), //nolint: gosec
21		}
22	} else {
23		el = &BaseElement{
24			Style: ctx.options.Styles.Item,
25		}
26	}
27
28	return el.Render(w, ctx)
29}