28 lines
487 B
Go
28 lines
487 B
Go
|
package ansi
|
||
|
|
||
|
import (
|
||
|
"io"
|
||
|
"strconv"
|
||
|
)
|
||
|
|
||
|
// An ItemElement is used to render items inside a list.
|
||
|
type ItemElement struct {
|
||
|
Enumeration uint
|
||
|
}
|
||
|
|
||
|
func (e *ItemElement) Render(w io.Writer, ctx RenderContext) error {
|
||
|
var el *BaseElement
|
||
|
if e.Enumeration > 0 {
|
||
|
el = &BaseElement{
|
||
|
Style: ctx.options.Styles.Enumeration,
|
||
|
Prefix: strconv.FormatInt(int64(e.Enumeration), 10),
|
||
|
}
|
||
|
} else {
|
||
|
el = &BaseElement{
|
||
|
Style: ctx.options.Styles.Item,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return el.Render(w, ctx)
|
||
|
}
|