Highlight.js Theme for EBNF
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 22.2k
- Forks
- 1.9k
- Avg merge
- 2d 21h
- Merged PRs (30d)
- 12
Description
Problem
Extended Backus-Naur Form (EBNF) is supported by highlight.js, but the default theme has the appearance of no syntax highlighting. This likely applies to BNF and ABNF also.
Here are some examples:
GitHub
letter = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" |
"N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" |
"a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" |
"n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" ;
digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
identifier = letter , { letter | digit | "-" | "_" } ;
topic = identifier , "/" , identifier ;
values = identifier , { ":" , identifier } ;
key = topic , "/" values ;
VS Code
MdBook
This is using the Ayu theme, but reverting to the default theme appears to produce similar results.
Proposed Solution
There's probably a way to custom the default them to make it work, but I'm 100% sure how. Ideally, the default theme should retain minimal syntax highlighting.
Notes
No response
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.
Research direction
The issue provides EBNF examples rendered in GitHub, VS Code, and MdBook, and focuses on the default theme's syntax highlighting. Start by reproducing the examples with the default theme and determine where the theme handles EBNF, BNF, or ABNF. Done means these code blocks retain minimal visible syntax highlighting without relying on a custom theme.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100