fix: preserve code spans adjacent to tildes#4012
Conversation
|
@Hona is attempting to deploy a commit to the MarkedJS Team on Vercel. A member of the Team first needs to authorize it. |
There was a problem hiding this comment.
Pull request overview
Fixes a GFM inline parsing edge case where a literal ~ immediately adjacent to backtick runs could cause the inline “text” rule to consume part of a code span opener/closer, leading to shifted/incorrect code span pairing (as described in #4011).
Changes:
- Adjusted the GFM inline
textregex to keep adjacent tilde and backtick delimiter runs separate (\+vs~+`), so the codespan tokenizer still sees complete backtick runs. - Added a new spec test covering both delimiter orders, multi-backtick code spans, and code nested in strikethrough.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| test/specs/new/codespan_adjacent_tilde.md | Adds markdown fixtures reproducing the adjacency cases that previously broke codespan pairing. |
| test/specs/new/codespan_adjacent_tilde.html | Adds expected HTML output for the new adjacency fixtures to prevent regressions. |
| src/rules.ts | Updates the GFM inline text rule so it no longer collapses mixed `/~ runs into a single token that can hide codespan delimiters. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
I think we should merge this. @styfle any objections? |
|
Oops - yeah that workaround PR was not meant to close this PR |
Marked version: master / 18.0.5
Markdown flavor: GitHub Flavored Markdown
Description
Contributor
Committer
In most cases, this should be a different person than the contributor.