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
|
|
]
|
|
};
|
|
}
|