{"version":3,"file":"monkey.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/monkey.js"],"sourcesContent":["/*\nLanguage: Monkey\nDescription: Monkey2 is an easy to use, cross platform, games oriented programming language from Blitz Research.\nAuthor: Arthur Bikmullin <devolonter@gmail.com>\nWebsite: https://blitzresearch.itch.io/monkey2\nCategory: gaming\n*/\n\nfunction monkey(hljs) {\n  const NUMBER = {\n    className: 'number',\n    relevance: 0,\n    variants: [\n      { begin: '[$][a-fA-F0-9]+' },\n      hljs.NUMBER_MODE\n    ]\n  };\n  const FUNC_DEFINITION = {\n    variants: [\n      { match: [\n        /(function|method)/,\n        /\\s+/,\n        hljs.UNDERSCORE_IDENT_RE,\n      ] },\n    ],\n    scope: {\n      1: \"keyword\",\n      3: \"title.function\"\n    }\n  };\n  const CLASS_DEFINITION = {\n    variants: [\n      { match: [\n        /(class|interface|extends|implements)/,\n        /\\s+/,\n        hljs.UNDERSCORE_IDENT_RE,\n      ] },\n    ],\n    scope: {\n      1: \"keyword\",\n      3: \"title.class\"\n    }\n  };\n  const BUILT_INS = [\n    \"DebugLog\",\n    \"DebugStop\",\n    \"Error\",\n    \"Print\",\n    \"ACos\",\n    \"ACosr\",\n    \"ASin\",\n    \"ASinr\",\n    \"ATan\",\n    \"ATan2\",\n    \"ATan2r\",\n    \"ATanr\",\n    \"Abs\",\n    \"Abs\",\n    \"Ceil\",\n    \"Clamp\",\n    \"Clamp\",\n    \"Cos\",\n    \"Cosr\",\n    \"Exp\",\n    \"Floor\",\n    \"Log\",\n    \"Max\",\n    \"Max\",\n    \"Min\",\n    \"Min\",\n    \"Pow\",\n    \"Sgn\",\n    \"Sgn\",\n    \"Sin\",\n    \"Sinr\",\n    \"Sqrt\",\n    \"Tan\",\n    \"Tanr\",\n    \"Seed\",\n    \"PI\",\n    \"HALFPI\",\n    \"TWOPI\"\n  ];\n  const LITERALS = [\n    \"true\",\n    \"false\",\n    \"null\"\n  ];\n  const KEYWORDS = [\n    \"public\",\n    \"private\",\n    \"property\",\n    \"continue\",\n    \"exit\",\n    \"extern\",\n    \"new\",\n    \"try\",\n    \"catch\",\n    \"eachin\",\n    \"not\",\n    \"abstract\",\n    \"final\",\n    \"select\",\n    \"case\",\n    \"default\",\n    \"const\",\n    \"local\",\n    \"global\",\n    \"field\",\n    \"end\",\n    \"if\",\n    \"then\",\n    \"else\",\n    \"elseif\",\n    \"endif\",\n    \"while\",\n    \"wend\",\n    \"repeat\",\n    \"until\",\n    \"forever\",\n    \"for\",\n    \"to\",\n    \"step\",\n    \"next\",\n    \"return\",\n    \"module\",\n    \"inline\",\n    \"throw\",\n    \"import\",\n    // not positive, but these are not literals\n    \"and\",\n    \"or\",\n    \"shl\",\n    \"shr\",\n    \"mod\"\n  ];\n\n  return {\n    name: 'Monkey',\n    case_insensitive: true,\n    keywords: {\n      keyword: KEYWORDS,\n      built_in: BUILT_INS,\n      literal: LITERALS\n    },\n    illegal: /\\/\\*/,\n    contains: [\n      hljs.COMMENT('#rem', '#end'),\n      hljs.COMMENT(\n        \"'\",\n        '$',\n        { relevance: 0 }\n      ),\n      FUNC_DEFINITION,\n      CLASS_DEFINITION,\n      {\n        className: 'variable.language',\n        begin: /\\b(self|super)\\b/\n      },\n      {\n        className: 'meta',\n        begin: /\\s*#/,\n        end: '$',\n        keywords: { keyword: 'if else elseif endif end then' }\n      },\n      {\n        match: [\n          /^\\s*/,\n          /strict\\b/\n        ],\n        scope: { 2: \"meta\" }\n      },\n      {\n        beginKeywords: 'alias',\n        end: '=',\n        contains: [ hljs.UNDERSCORE_TITLE_MODE ]\n      },\n      hljs.QUOTE_STRING_MODE,\n      NUMBER\n    ]\n  };\n}\n\nmodule.exports = monkey;\n"],"names":["monkey","hljs","NUMBER","FUNC_DEFINITION","CLASS_DEFINITION","monkey_1"],"mappings":";;;;AAQA,WAASA,EAAOC,GAAM;AACpB,UAAMC,IAAS;AAAA,MACb,WAAW;AAAA,MACX,WAAW;AAAA,MACX,UAAU;AAAA,QACR,EAAE,OAAO,kBAAiB;AAAA,QAC1BD,EAAK;AAAA;IAEX,GACQE,IAAkB;AAAA,MACtB,UAAU;AAAA,QACR,EAAE,OAAO;AAAA,UACP;AAAA,UACA;AAAA,UACAF,EAAK;AAAA,QACb,EAAO;AAAA;MAEH,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA;IAET,GACQG,IAAmB;AAAA,MACvB,UAAU;AAAA,QACR,EAAE,OAAO;AAAA,UACP;AAAA,UACA;AAAA,UACAH,EAAK;AAAA,QACb,EAAO;AAAA;MAEH,OAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG;AAAA;IAET;AA+FE,WAAO;AAAA,MACL,MAAM;AAAA,MACN,kBAAkB;AAAA,MAClB,UAAU;AAAA,QACR,SArDa;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,UAEA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QAOM,UAnGc;AAAA,UAChB;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA,QA6DM,SA5Da;AAAA,UACf;AAAA,UACA;AAAA,UACA;AAAA,QACJ;AAAA;MA0DI,SAAS;AAAA,MACT,UAAU;AAAA,QACRA,EAAK,QAAQ,QAAQ,MAAM;AAAA,QAC3BA,EAAK;AAAA,UACH;AAAA,UACA;AAAA,UACA,EAAE,WAAW,EAAC;AAAA;QAEhBE;AAAA,QACAC;AAAA,QACA;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA;QAET;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,UAAU,EAAE,SAAS,gCAA+B;AAAA;QAEtD;AAAA,UACE,OAAO;AAAA,YACL;AAAA,YACA;AAAA;UAEF,OAAO,EAAE,GAAG,OAAM;AAAA;QAEpB;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,UAAU,CAAEH,EAAK,qBAAqB;AAAA;QAExCA,EAAK;AAAA,QACLC;AAAA;IAEN;AAAA,EACA;AAEA,SAAAG,IAAiBL;;","x_google_ignoreList":[0]}