quarto-dev / quarto-dev/quarto-cli

[reveal.js] syntax-highlighting: idiomatic produces no highlighting

Open
#13,989 0 comments 0 reactions 1 assignee View on GitHub

@cderv is already working on this.

Since Feb 3, 2026.

pandoc revealjs
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

  1. Investigate Pandoc's reveal.js writer to understand why highlight.js isn't activated
  2. Add Quarto-side integration to enable highlight.js plugin when idiomatic is requested
  3. Support highlightjs-theme variable for theme customization

References

  • Related PR: #13984 (syntax-highlighting option support)
  • Parent issue: #13878 (migrate to syntax-highlighting)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.