| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | /*Language: LuaAuthor: Andrew Fedorov <[email protected]>Category: scripting*/function(hljs) {  var OPENING_LONG_BRACKET = '\\[=*\\[';  var CLOSING_LONG_BRACKET = '\\]=*\\]';  var LONG_BRACKETS = {    begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,    contains: ['self']  };  var COMMENTS = [    hljs.COMMENT('--(?!' + OPENING_LONG_BRACKET + ')', '$'),    hljs.COMMENT(      '--' + OPENING_LONG_BRACKET,      CLOSING_LONG_BRACKET,      {        contains: [LONG_BRACKETS],        relevance: 10      }    )  ];  return {    lexemes: hljs.UNDERSCORE_IDENT_RE,    keywords: {      keyword:        'and break do else elseif end false for if in local nil not or repeat return then ' +        'true until while',      built_in:        '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load ' +        'loadfile loadstring module next pairs pcall print rawequal rawget rawset require ' +        'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug ' +        'io math os package string table'    },    contains: COMMENTS.concat([      {        className: 'function',        beginKeywords: 'function', end: '\\)',        contains: [          hljs.inherit(hljs.TITLE_MODE, {begin: '([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*'}),          {            className: 'params',            begin: '\\(', endsWithParent: true,            contains: COMMENTS          }        ].concat(COMMENTS)      },      hljs.C_NUMBER_MODE,      hljs.APOS_STRING_MODE,      hljs.QUOTE_STRING_MODE,      {        className: 'string',        begin: OPENING_LONG_BRACKET, end: CLOSING_LONG_BRACKET,        contains: [LONG_BRACKETS],        relevance: 5      }    ])  };}
 |