MarkdownAguiTextRenderer

constructor(colors: @Composable () -> MarkdownColors = { markdownAguiColors() }, typography: @Composable () -> MarkdownTypography = { markdownAguiTypography() }, flavour: MarkdownFlavourDescriptor = GFMFlavourDescriptor())

Parameters

colors

read in composition rather than passed as a value, so that a caller reading MaterialTheme gets a renderer that follows a theme change without being reconstructed -- which is what lets the whole thing sit behind a single remember with no keys.

typography

read in composition for the same reason. Note that reasoning is dimmed by the slot around this renderer through LocalContentColor, and a MarkdownColors carries an explicit colour -- so under Material 3 the lambda above is also what keeps dimming working.

flavour

the Markdown dialect. GitHub Flavored Markdown by default, which is what an agent writing tables and fenced code is almost always writing.