in pkg/ui/terminal.go [226:267]
func (u *TerminalUI) RenderOutput(ctx context.Context, s string, styleOptions ...StyleOption) {
log := klog.FromContext(ctx)
u.journal.Write(ctx, &journal.Event{
Action: journal.ActionUIRender,
Payload: map[string]any{
"text": s,
},
})
computedStyle := &style{}
for _, opt := range styleOptions {
opt(computedStyle)
}
if computedStyle.renderMarkdown {
out, err := u.markdownRenderer.Render(s)
if err != nil {
log.Error(err, "Error rendering markdown")
}
s = out
}
reset := ""
switch computedStyle.foreground {
case ColorRed:
fmt.Printf("\033[31m")
reset += "\033[0m"
case ColorGreen:
fmt.Printf("\033[32m")
reset += "\033[0m"
case ColorWhite:
fmt.Printf("\033[37m")
reset += "\033[0m"
case "":
default:
log.Info("foreground color not supported by TerminalUI", "color", computedStyle.foreground)
}
fmt.Printf("%s%s", s, reset)
}