mirror of https://github.com/mindoc-org/mindoc.git
38 lines
770 B
JavaScript
38 lines
770 B
JavaScript
|
/*
|
||
|
Language: Extended Backus-Naur Form
|
||
|
Author: Alex McKibben <alex@nullscope.net>
|
||
|
*/
|
||
|
|
||
|
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
|
||
|
]
|
||
|
};
|
||
|
}
|