| 123456789101112131415161718192021222324252627282930313233343536373839 | 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              className: 'string',              variants: [                hljs.APOS_STRING_MODE,                hljs.QUOTE_STRING_MODE,                {begin: '`', end: '`'},              ]            },        ]    };    return {        illegal: /\S/,        contains: [            commentMode,            nonTerminalMode,            ruleBodyMode        ]    };};
 |