quarto-dev / quarto-dev/quarto-cli
[reveal.js] syntax-highlighting: idiomatic produces no highlighting
@cderv is already working on this.
Since Feb 3, 2026.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
Setting syntax-highlighting: idiomatic with reveal.js format produces no syntax highlighting at all - code blocks render as plain text without any highlighting spans.
Expected
When using syntax-highlighting: idiomatic, reveal.js should use its native highlight.js plugin for syntax highlighting.
Actual
Code blocks render as raw text with no <span> elements or CSS classes for highlighting.
<!-- Expected (highlight.js or skylighting) -->
<span class="kw">def</span> hello():
<span class="bu">print</span>(<span class="st">"Hello"</span>)
<!-- Actual (no highlighting) -->
def hello():
print("Hello")
Current Workaround
PR #13984 blocks idiomatic for reveal.js with a warning and falls back to default skylighting:
WARNING: syntax-highlighting: idiomatic is not supported for reveal.js. Using default highlighting.
Root Cause
This appears to be a Pandoc-side issue where the reveal.js writer doesn't fully implement idiomatic highlighting mode. The idiomatic value passes through to Pandoc correctly, but the output doesn't activate highlight.js.
Possible Solutions
- Investigate Pandoc's reveal.js writer to understand why highlight.js isn't activated
- Add Quarto-side integration to enable highlight.js plugin when
idiomaticis requested - Support
highlightjs-themevariable for theme customization
References
- Related PR: #13984 (syntax-highlighting option support)
- Parent issue: #13878 (migrate to syntax-highlighting)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.