📄️ Mentions
A mention is just a Markdown link with a custom URL scheme - @Alice. There is no dedicated mention token, which means mentions work with both components: EnrichedMarkdownText displays them as styled, tappable links, and EnrichedMarkdownTextInput additionally lets users author them interactively as they type.
📄️ LaTeX math
EnrichedMarkdownText renders LaTeX math natively, both inline and as block equations:
📄️ Code-block highlighting
Fenced code blocks are syntax-highlighted natively via tree-sitter. Highlighting is foreground-only - it recolors tokens and never changes text metrics, so a code block's measured height always matches its drawn height. In the React Native package it is on by default on iOS and Android with a curated set of languages, and can be trimmed or disabled to reduce binary size. The standalone iOS SDK ships it as an optional product you enable per view, and the standalone Android SDK as an optional artifact you enable with a plugin - see iOS and Android SDKs.
📄️ Markdown streaming
When Markdown arrives incrementally - token by token from an LLM, for example - you can render it as it streams instead of waiting for the whole string. The display component fades in newly appended text and handles half-formed block elements gracefully while the rest is still arriving.
📄️ Editor-style text
The display component normalizes whitespace the way CommonMark does: single newlines collapse into spaces, and runs of blank lines collapse into a single paragraph break. That is the right default for prose, but it means the rendered output does not match the raw line layout the user typed.