{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/angelscript.js"],"names":["module","exports","hljs","builtInTypeMode","className","begin","objectHandleMode","genericMode","end","contains","name","aliases","keywords","illegal","BACKSLASH_ESCAPE","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords"],"mappings":"6EA+FAA,EAAOC,QAvFP,SAAqBC,GACnB,IAAIC,EAAkB,CACpBC,UAAW,WACXC,MAAO,2HAELC,EAAmB,CACrBF,UAAW,SACXC,MAAO,kBAELE,EAAc,CAChBH,UAAW,UACXC,MAAO,IACPG,IAAK,IACLC,SAAU,CAACN,EAAiBG,IAI9B,OAFAH,EAAgBM,SAAW,CAACF,GAC5BD,EAAiBG,SAAW,CAACF,GACtB,CACLG,KAAM,cACNC,QAAS,CAAC,OACVC,SAAU,2SAEVC,QAAS,qDACTJ,SAAU,CAAC,CAETL,UAAW,SACXC,MAAO,IACPG,IAAK,IACLK,QAAS,MACTJ,SAAU,CAACP,EAAKY,kBAChBC,UAAW,GACV,CAEDX,UAAW,SACXC,MAAO,IACPG,IAAK,IACLK,QAAS,MACTJ,SAAU,CAACP,EAAKY,kBAChBC,UAAW,GAEb,CACEX,UAAW,SACXC,MAAO,MACPG,IAAK,OACJN,EAAKc,oBACRd,EAAKe,qBACL,CAEEC,cAAe,sBACfV,IAAK,IACLK,QAAS,UACTJ,SAAU,CAAC,CAETL,UAAW,SACXC,MAAO,mBAER,CAEDa,cAAe,QACfV,IAAK,IACLK,QAAS,UACTJ,SAAU,CAAC,CAETL,UAAW,SACXC,MAAO,gBACPI,SAAU,CAAC,CACTJ,MAAO,WACPI,SAAU,CAAC,CACTL,UAAW,SACXC,MAAO,uBAIZF,EACHG,EACA,CAEEF,UAAW,UACXC,MAAO,wBACN,CAEDD,UAAW,SACXC,MAAO","file":"react-syntax-highlighter_languages_highlight_angelscript-098ad806a04a130d9cca.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  var builtInTypeMode = {\n    className: 'built_in',\n    begin: '\\\\b(void|bool|int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|string|ref|array|double|float|auto|dictionary)'\n  };\n  var objectHandleMode = {\n    className: 'symbol',\n    begin: '[a-zA-Z0-9_]+@'\n  };\n  var genericMode = {\n    className: 'keyword',\n    begin: '<',\n    end: '>',\n    contains: [builtInTypeMode, objectHandleMode]\n  };\n  builtInTypeMode.contains = [genericMode];\n  objectHandleMode.contains = [genericMode];\n  return {\n    name: 'AngelScript',\n    aliases: ['asc'],\n    keywords: 'for in|0 break continue while do|0 return if else case switch namespace is cast ' + 'or and xor not get|0 in inout|10 out override set|0 private public const default|0 ' + 'final shared external mixin|10 enum typedef funcdef this super import from interface ' + 'abstract|0 try catch protected explicit property',\n    // avoid close detection with C# and JS\n    illegal: '(^using\\\\s+[A-Za-z0-9_\\\\.]+;$|\\\\bfunction\\s*[^\\\\(])',\n    contains: [{\n      // 'strings'\n      className: 'string',\n      begin: '\\'',\n      end: '\\'',\n      illegal: '\\\\n',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 0\n    }, {\n      // \"strings\"\n      className: 'string',\n      begin: '\"',\n      end: '\"',\n      illegal: '\\\\n',\n      contains: [hljs.BACKSLASH_ESCAPE],\n      relevance: 0\n    }, // \"\"\"heredoc strings\"\"\"\n    {\n      className: 'string',\n      begin: '\"\"\"',\n      end: '\"\"\"'\n    }, hljs.C_LINE_COMMENT_MODE, // single-line comments\n    hljs.C_BLOCK_COMMENT_MODE, // comment blocks\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      // 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          begin: '[:,]\\\\s*',\n          contains: [{\n            className: 'symbol',\n            begin: '[a-zA-Z0-9_]+'\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      // numbers\n      className: 'number',\n      begin: '(-?)(\\\\b0[xX][a-fA-F0-9]+|(\\\\b\\\\d+(\\\\.\\\\d*)?f?|\\\\.\\\\d+f?)([eE][-+]?\\\\d+f?)?)'\n    }]\n  };\n}\n\nmodule.exports = angelscript;"],"sourceRoot":""}