{"version":3,"file":"angelscript.mjs","sources":["../../../../../../node_modules/highlight.js/lib/languages/angelscript.js"],"sourcesContent":["/*\nLanguage: AngelScript\nAuthor: Melissa Geels <melissa@nimble.tools>\nCategory: scripting\nWebsite: https://www.angelcode.com/angelscript/\n*/\n\n/** @type LanguageFn */\nfunction angelscript(hljs) {\n  const builtInTypeMode = {\n    className: 'built_in',\n    begin: '\\\\b(void|bool|int8|int16|int32|int64|int|uint8|uint16|uint32|uint64|uint|string|ref|array|double|float|auto|dictionary)'\n  };\n\n  const objectHandleMode = {\n    className: 'symbol',\n    begin: '[a-zA-Z0-9_]+@'\n  };\n\n  const genericMode = {\n    className: 'keyword',\n    begin: '<',\n    end: '>',\n    contains: [\n      builtInTypeMode,\n      objectHandleMode\n    ]\n  };\n\n  builtInTypeMode.contains = [ genericMode ];\n  objectHandleMode.contains = [ genericMode ];\n\n  const KEYWORDS = [\n    \"for\",\n    \"in|0\",\n    \"break\",\n    \"continue\",\n    \"while\",\n    \"do|0\",\n    \"return\",\n    \"if\",\n    \"else\",\n    \"case\",\n    \"switch\",\n    \"namespace\",\n    \"is\",\n    \"cast\",\n    \"or\",\n    \"and\",\n    \"xor\",\n    \"not\",\n    \"get|0\",\n    \"in\",\n    \"inout|10\",\n    \"out\",\n    \"override\",\n    \"set|0\",\n    \"private\",\n    \"public\",\n    \"const\",\n    \"default|0\",\n    \"final\",\n    \"shared\",\n    \"external\",\n    \"mixin|10\",\n    \"enum\",\n    \"typedef\",\n    \"funcdef\",\n    \"this\",\n    \"super\",\n    \"import\",\n    \"from\",\n    \"interface\",\n    \"abstract|0\",\n    \"try\",\n    \"catch\",\n    \"protected\",\n    \"explicit\",\n    \"property\"\n  ];\n\n  return {\n    name: 'AngelScript',\n    aliases: [ 'asc' ],\n\n    keywords: KEYWORDS,\n\n    // avoid close detection with C# and JS\n    illegal: '(^using\\\\s+[A-Za-z0-9_\\\\.]+;$|\\\\bfunction\\\\s*[^\\\\(])',\n\n    contains: [\n      { // 'strings'\n        className: 'string',\n        begin: '\\'',\n        end: '\\'',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        relevance: 0\n      },\n\n      // \"\"\"heredoc strings\"\"\"\n      {\n        className: 'string',\n        begin: '\"\"\"',\n        end: '\"\"\"'\n      },\n\n      { // \"strings\"\n        className: 'string',\n        begin: '\"',\n        end: '\"',\n        illegal: '\\\\n',\n        contains: [ hljs.BACKSLASH_ESCAPE ],\n        relevance: 0\n      },\n\n      hljs.C_LINE_COMMENT_MODE, // single-line comments\n      hljs.C_BLOCK_COMMENT_MODE, // comment blocks\n\n      { // metadata\n        className: 'string',\n        begin: '^\\\\s*\\\\[',\n        end: '\\\\]'\n      },\n\n      { // interface or namespace declaration\n        beginKeywords: 'interface namespace',\n        end: /\\{/,\n        illegal: '[;.\\\\-]',\n        contains: [\n          { // interface or namespace name\n            className: 'symbol',\n            begin: '[a-zA-Z0-9_]+'\n          }\n        ]\n      },\n\n      { // class declaration\n        beginKeywords: 'class',\n        end: /\\{/,\n        illegal: '[;.\\\\-]',\n        contains: [\n          { // class name\n            className: 'symbol',\n            begin: '[a-zA-Z0-9_]+',\n            contains: [\n              {\n                begin: '[:,]\\\\s*',\n                contains: [\n                  {\n                    className: 'symbol',\n                    begin: '[a-zA-Z0-9_]+'\n                  }\n                ]\n              }\n            ]\n          }\n        ]\n      },\n\n      builtInTypeMode, // built-in types\n      objectHandleMode, // object handles\n\n      { // literals\n        className: 'literal',\n        begin: '\\\\b(null|true|false)'\n      },\n\n      { // numbers\n        className: 'number',\n        relevance: 0,\n        begin: '(-?)(\\\\b0[xXbBoOdD][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?f?|\\\\.\\\\d+f?)([eE][-+]?\\\\d+f?)?)'\n      }\n    ]\n  };\n}\n\nmodule.exports = angelscript;\n"],"names":["angelscript","hljs","builtInTypeMode","objectHandleMode","genericMode","angelscript_1"],"mappings":";;;;AAQA,WAASA,EAAYC,GAAM;AACzB,UAAMC,IAAkB;AAAA,MACtB,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GAEQC,IAAmB;AAAA,MACvB,WAAW;AAAA,MACX,OAAO;AAAA,IACX,GAEQC,IAAc;AAAA,MAClB,WAAW;AAAA,MACX,OAAO;AAAA,MACP,KAAK;AAAA,MACL,UAAU;AAAA,QACRF;AAAA,QACAC;AAAA;IAEN;AAEE,WAAAD,EAAgB,WAAW,CAAEE,CAAW,GACxCD,EAAiB,WAAW,CAAEC,CAAW,GAmDlC;AAAA,MACL,MAAM;AAAA,MACN,SAAS,CAAE,KAAK;AAAA,MAEhB,UArDe;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA;AAAA,MASI,SAAS;AAAA,MAET,UAAU;AAAA,QACR;AAAA;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAEH,EAAK,gBAAgB;AAAA,UACjC,WAAW;AAAA;;QAIb;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA;QAGP;AAAA;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU,CAAEA,EAAK,gBAAgB;AAAA,UACjC,WAAW;AAAA;QAGbA,EAAK;AAAA;AAAA,QACLA,EAAK;AAAA;AAAA,QAEL;AAAA;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA,UACP,KAAK;AAAA;QAGP;AAAA;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,YACR;AAAA;AAAA,cACE,WAAW;AAAA,cACX,OAAO;AAAA;;;QAKb;AAAA;AAAA,UACE,eAAe;AAAA,UACf,KAAK;AAAA,UACL,SAAS;AAAA,UACT,UAAU;AAAA,YACR;AAAA;AAAA,cACE,WAAW;AAAA,cACX,OAAO;AAAA,cACP,UAAU;AAAA,gBACR;AAAA,kBACE,OAAO;AAAA,kBACP,UAAU;AAAA,oBACR;AAAA,sBACE,WAAW;AAAA,sBACX,OAAO;AAAA;;;;;;;QASrBC;AAAA;AAAA,QACAC;AAAA;AAAA,QAEA;AAAA;AAAA,UACE,WAAW;AAAA,UACX,OAAO;AAAA;QAGT;AAAA;AAAA,UACE,WAAW;AAAA,UACX,WAAW;AAAA,UACX,OAAO;AAAA;;IAGf;AAAA,EACA;AAEA,SAAAE,IAAiBL;;","x_google_ignoreList":[0]}