| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- /*
- Language: Lua
- Author: 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
- }
- ])
- };
- }
|