{"version":3,"file":"moonscript.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/moonscript.js"],"sourcesContent":["/*\nLanguage: MoonScript\nAuthor: Billy Quith <chinbillybilbo@gmail.com>\nDescription: MoonScript is a programming language that transcompiles to Lua.\nOrigin: coffeescript.js\nWebsite: http://moonscript.org/\nCategory: scripting\n*/\n\nfunction moonscript(hljs) {\n  const KEYWORDS = {\n    keyword:\n      // Moonscript keywords\n      'if then not for in while do return else elseif break continue switch and or '\n      + 'unless when class extends super local import export from using',\n    literal:\n      'true false nil',\n    built_in:\n      '_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load '\n      + 'loadfile loadstring module next pairs pcall print rawequal rawget rawset require '\n      + 'select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug '\n      + 'io math os package string table'\n  };\n  const JS_IDENT_RE = '[A-Za-z$_][0-9A-Za-z$_]*';\n  const SUBST = {\n    className: 'subst',\n    begin: /#\\{/,\n    end: /\\}/,\n    keywords: KEYWORDS\n  };\n  const EXPRESSIONS = [\n    hljs.inherit(hljs.C_NUMBER_MODE,\n      { starts: {\n        end: '(\\\\s*/)?',\n        relevance: 0\n      } }), // a number tries to eat the following slash to prevent treating it as a regexp\n    {\n      className: 'string',\n      variants: [\n        {\n          begin: /'/,\n          end: /'/,\n          contains: [ hljs.BACKSLASH_ESCAPE ]\n        },\n        {\n          begin: /\"/,\n          end: /\"/,\n          contains: [\n            hljs.BACKSLASH_ESCAPE,\n            SUBST\n          ]\n        }\n      ]\n    },\n    {\n      className: 'built_in',\n      begin: '@__' + hljs.IDENT_RE\n    },\n    { begin: '@' + hljs.IDENT_RE // relevance booster on par with CoffeeScript\n    },\n    { begin: hljs.IDENT_RE + '\\\\\\\\' + hljs.IDENT_RE // inst\\method\n    }\n  ];\n  SUBST.contains = EXPRESSIONS;\n\n  const TITLE = hljs.inherit(hljs.TITLE_MODE, { begin: JS_IDENT_RE });\n  const POSSIBLE_PARAMS_RE = '(\\\\(.*\\\\)\\\\s*)?\\\\B[-=]>';\n  const PARAMS = {\n    className: 'params',\n    begin: '\\\\([^\\\\(]',\n    returnBegin: true,\n    /* We need another contained nameless mode to not have every nested\n    pair of parens to be called \"params\" */\n    contains: [\n      {\n        begin: /\\(/,\n        end: /\\)/,\n        keywords: KEYWORDS,\n        contains: [ 'self' ].concat(EXPRESSIONS)\n      }\n    ]\n  };\n\n  return {\n    name: 'MoonScript',\n    aliases: [ 'moon' ],\n    keywords: KEYWORDS,\n    illegal: /\\/\\*/,\n    contains: EXPRESSIONS.concat([\n      hljs.COMMENT('--', '$'),\n      {\n        className: 'function', // function: -> =>\n        begin: '^\\\\s*' + JS_IDENT_RE + '\\\\s*=\\\\s*' + POSSIBLE_PARAMS_RE,\n        end: '[-=]>',\n        returnBegin: true,\n        contains: [\n          TITLE,\n          PARAMS\n        ]\n      },\n      {\n        begin: /[\\(,:=]\\s*/, // anonymous function start\n        relevance: 0,\n        contains: [\n          {\n            className: 'function',\n            begin: POSSIBLE_PARAMS_RE,\n            end: '[-=]>',\n            returnBegin: true,\n            contains: [ PARAMS ]\n          }\n        ]\n      },\n      {\n        className: 'class',\n        beginKeywords: 'class',\n        end: '$',\n        illegal: /[:=\"\\[\\]]/,\n        contains: [\n          {\n            beginKeywords: 'extends',\n            endsWithParent: true,\n            illegal: /[:=\"\\[\\]]/,\n            contains: [ TITLE ]\n          },\n          TITLE\n        ]\n      },\n      {\n        className: 'name', // table\n        begin: JS_IDENT_RE + ':',\n        end: ':',\n        returnBegin: true,\n        returnEnd: true,\n        relevance: 0\n      }\n    ])\n  };\n}\n\nmodule.exports = moonscript;\n"],"names":["moonscript","hljs","KEYWORDS","JS_IDENT_RE","SUBST","EXPRESSIONS","TITLE","POSSIBLE_PARAMS_RE","PARAMS","moonscript_1"],"mappings":";;;;AASA,WAASA,EAAWC,GAAM;AACxB,UAAMC,IAAW;AAAA,MACf;AAAA;AAAA,QAEE;AAAA;AAAA,MAEF,SACE;AAAA,MACF,UACE;AAAA,IAIN,GACQC,IAAc,4BACdC,IAAQ;AAAA,MACZ,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAUF;AAAA,IACd,GACQG,IAAc;AAAA,MAClBJ,EAAK;AAAA,QAAQA,EAAK;AAAA,QAChB,EAAE,QAAQ;AAAA,UACR,KAAK;AAAA,UACL,WAAW;AAAA,QACnB;MAAS;AAAA;AAAA,MACL;AAAA,QACE,WAAW;AAAA,QACX,UAAU;AAAA,UACR;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,UAAU,CAAEA,EAAK,gBAAgB;AAAA;UAEnC;AAAA,YACE,OAAO;AAAA,YACP,KAAK;AAAA,YACL,UAAU;AAAA,cACRA,EAAK;AAAA,cACLG;AAAA;;;;MAKR;AAAA,QACE,WAAW;AAAA,QACX,OAAO,QAAQH,EAAK;AAAA;MAEtB;AAAA,QAAE,OAAO,MAAMA,EAAK;AAAA;AAAA;MAEpB;AAAA,QAAE,OAAOA,EAAK,WAAW,SAASA,EAAK;AAAA;AAAA;IAE3C;AACE,IAAAG,EAAM,WAAWC;AAEjB,UAAMC,IAAQL,EAAK,QAAQA,EAAK,YAAY,EAAE,OAAOE,GAAa,GAC5DI,IAAqB,2BACrBC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,OAAO;AAAA,MACP,aAAa;AAAA;AAAA;AAAA,MAGb,UAAU;AAAA,QACR;AAAA,UACE,OAAO;AAAA,UACP,KAAK;AAAA,UACL,UAAUN;AAAA,UACV,UAAU,CAAE,QAAS,OAAOG,CAAW;AAAA;;IAG/C;AAEE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAE,MAAM;AAAA,MACjB,UAAUH;AAAA,MACV,SAAS;AAAA,MACT,UAAUG,EAAY,OAAO;AAAA,QAC3BJ,EAAK,QAAQ,MAAM,GAAG;AAAA,QACtB;AAAA,UACE,WAAW;AAAA;AAAA,UACX,OAAO,UAAUE,IAAc,cAAcI;AAAA,UAC7C,KAAK;AAAA,UACL,aAAa;AAAA,UACb,UAAU;AAAA,YACRD;AAAA,YACAE;AAAA;;QAGJ;AAAA,UACE,OAAO;AAAA;AAAA,UACP,WAAW;AAAA,UACX,UAAU;AAAA,YACR;AAAA,cACE,WAAW;AAAA,cACX,OAAOD;AAAA,cACP,KAAK;AAAA,cACL,aAAa;AAAA,cACb,UAAU,CAAEC,CAAM;AAAA;;;QAIxB;AAAA,UACE,WAAW;AAAA,UACX,eAAe;AAAA,UACf,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,YACR;AAAA,cACE,eAAe;AAAA,cACf,gBAAgB;AAAA,cAChB,SAAS;AAAA,cACT,UAAU,CAAEF,CAAK;AAAA;YAEnBA;AAAA;;QAGJ;AAAA,UACE,WAAW;AAAA;AAAA,UACX,OAAOH,IAAc;AAAA,UACrB,KAAK;AAAA,UACL,aAAa;AAAA,UACb,WAAW;AAAA,UACX,WAAW;AAAA;MAEnB,CAAK;AAAA,IACL;AAAA,EACA;AAEA,SAAAM,IAAiBT;;","x_google_ignoreList":[0]}