diff options
Diffstat (limited to 'node_modules/highlight.js/lib/languages/ebnf.js')
-rw-r--r-- | node_modules/highlight.js/lib/languages/ebnf.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/node_modules/highlight.js/lib/languages/ebnf.js b/node_modules/highlight.js/lib/languages/ebnf.js new file mode 100644 index 000000000..eccc3cc46 --- /dev/null +++ b/node_modules/highlight.js/lib/languages/ebnf.js @@ -0,0 +1,32 @@ +module.exports = function(hljs) { + var commentMode = hljs.COMMENT(/\(\*/, /\*\)/); + + var nonTerminalMode = { + className: "attribute", + begin: /^[ ]*[a-zA-Z][a-zA-Z-]*([\s-]+[a-zA-Z][a-zA-Z]*)*/ + }; + + var specialSequenceMode = { + className: "meta", + begin: /\?.*\?/ + }; + + var ruleBodyMode = { + begin: /=/, end: /;/, + contains: [ + commentMode, + specialSequenceMode, + // terminals + hljs.APOS_STRING_MODE, hljs.QUOTE_STRING_MODE + ] + }; + + return { + illegal: /\S/, + contains: [ + commentMode, + nonTerminalMode, + ruleBodyMode + ] + }; +};
\ No newline at end of file |