# markdown: Update merman renderer to 0.6 \(\#57967\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/6d72acdb9911a7bd6a4399c82562506f4758a23c)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 6d72acdb9911a7bd6a4399c82562506f4758a23c

Requested commit: 6d72acdb9911a7bd6a4399c82562506f4758a23c

Commit: 6d72acdb9911a7bd6a4399c82562506f4758a23c

Tree: 5053e716cdfc3f6e14b46c405b8411efd61aff6e

Author: Latias94

Committer: GitHub

## Message

```
markdown: Update merman renderer to 0.6 (#57967)

Following up on #57644 by @cameron1024, this PR updates `merman` to
v0.6.

With merman 0.6's new raster-safe SVG pipeline, Zed can move generic
`usvg`/`resvg` cleanup passes out of this crate and rely on merman for
them instead.

**What's moved to merman:**
- `foreignObject` fallback text generation
- Unsupported CSS cleanup
- Invalid SVG attribute cleanup

**What's kept in Zed:**
- Theme CSS injection and accent color assignment
- Zed-specific fallback overlay handling

**Integration note:**
In merman v0.6, fallback overlay groups are marked with
`data-merman-foreignobject="fallback"` and preserve source classes like
`node` or `section-*`, so host CSS can still style fallback text. This
PR updates Zed's accent tracker to check for this marker, ensuring
fallback overlays are not treated as real layout nodes.

I also added a render-stage test for the new contract: the SVG output
from `render_mermaid` is already raster-safe before Zed-specific
post-processing runs.

---

### Self-Review Checklist:
- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

### Release Notes:
- Improved rendering of Mermaid diagrams in Markdown previews.

### Tests:
- `cargo +1.95 fmt --check -p mermaid_render`
- `cargo +1.95 test -p mermaid_render`
- `cargo +1.95 clippy -p mermaid_render --all-targets -- -D warnings`
- `git diff --check HEAD~1..HEAD`

---------

Co-authored-by: cameron <cameron.studdstreet@gmail.com>
```

## Parents

- [85d235b439d9047256f7de5fae47ca97c0859779](https://git.cafe/gitcafe/zed/commit/85d235b439d9047256f7de5fae47ca97c0859779?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/6d72acdb9911a7bd6a4399c82562506f4758a23c?format=markdown)
