1package common
2
3import (
4 "charm.land/glamour/v2"
5 "github.com/charmbracelet/crush/internal/ui/styles"
6)
7
8// MarkdownRenderer returns a glamour [glamour.TermRenderer] configured with
9// the given styles and width.
10func MarkdownRenderer(t *styles.Styles, width int) *glamour.TermRenderer {
11 r, _ := glamour.NewTermRenderer(
12 glamour.WithStyles(t.Markdown),
13 glamour.WithWordWrap(width),
14 )
15 return r
16}
17
18// PlainMarkdownRenderer returns a glamour [glamour.TermRenderer] with muted
19// colors on a subtle background, for thinking content.
20func PlainMarkdownRenderer(t *styles.Styles, width int) *glamour.TermRenderer {
21 r, _ := glamour.NewTermRenderer(
22 glamour.WithStyles(t.PlainMarkdown),
23 glamour.WithWordWrap(width),
24 )
25 return r
26}