blob: 6477cedb04bdd9be805508289ebd7c234ac8d9d6 [file] [log] [blame]
{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/reasonml.js"],"names":["module","exports","hljs","RE_IDENT","RE_MODULE_IDENT","RE_OPERATOR","map","op","split","char","join","RE_OPERATOR_SPACED","KEYWORDS","keyword","built_in","literal","RE_NUMBER","NUMBER_MODE","className","relevance","variants","begin","OPERATOR_MODE","LIST_CONTENTS_MODES","MODULE_ACCESS_CONTENTS","QUOTE_STRING_MODE","returnBegin","end","contains","PARAMS_CONTENTS","FUNCTION_BLOCK_MODE","keywords","push","CONSTRUCTOR_MODE","illegal","PATTERN_MATCH_BLOCK_MODE","MODULE_ACCESS_MODE","skip","concat","name","aliases","COMMENT","C_LINE_COMMENT_MODE"],"mappings":"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","file":"react-syntax-highlighter_languages_highlight_reasonml-ba91aaa7ed84481c8fb3.js","sourcesContent":["/*\nLanguage: ReasonML\nDescription: Reason lets you write simple, fast and quality type safe code while leveraging both the JavaScript & OCaml ecosystems.\nWebsite: https://reasonml.github.io\nAuthor: Gidi Meir Morris <oss@gidi.io>\nCategory: functional\n*/\nfunction reasonml(hljs) {\n function orReValues(ops) {\n return ops.map(function (op) {\n return op.split('').map(function (char) {\n return '\\\\' + char;\n }).join('');\n }).join('|');\n }\n\n var RE_IDENT = '~?[a-z$_][0-9a-zA-Z$_]*';\n var RE_MODULE_IDENT = '`?[A-Z$_][0-9a-zA-Z$_]*';\n var RE_PARAM_TYPEPARAM = '\\'?[a-z$_][0-9a-z$_]*';\n var RE_PARAM_TYPE = '\\s*:\\s*[a-z$_][0-9a-z$_]*(\\(\\s*(' + RE_PARAM_TYPEPARAM + '\\s*(,' + RE_PARAM_TYPEPARAM + ')*)?\\s*\\))?';\n var RE_PARAM = RE_IDENT + '(' + RE_PARAM_TYPE + ')?(' + RE_PARAM_TYPE + ')?';\n var RE_OPERATOR = \"(\" + orReValues(['||', '&&', '++', '**', '+.', '*', '/', '*.', '/.', '...', '|>']) + \"|==|===)\";\n var RE_OPERATOR_SPACED = \"\\\\s+\" + RE_OPERATOR + \"\\\\s+\";\n var KEYWORDS = {\n keyword: 'and as asr assert begin class constraint do done downto else end exception external ' + 'for fun function functor if in include inherit initializer ' + 'land lazy let lor lsl lsr lxor match method mod module mutable new nonrec ' + 'object of open or private rec sig struct then to try type val virtual when while with',\n built_in: 'array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 ref string unit ',\n literal: 'true false'\n };\n var RE_NUMBER = '\\\\b(0[xX][a-fA-F0-9_]+[Lln]?|' + '0[oO][0-7_]+[Lln]?|' + '0[bB][01_]+[Lln]?|' + '[0-9][0-9_]*([Lln]|(\\\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)';\n var NUMBER_MODE = {\n className: 'number',\n relevance: 0,\n variants: [{\n begin: RE_NUMBER\n }, {\n begin: '\\\\(\\\\-' + RE_NUMBER + '\\\\)'\n }]\n };\n var OPERATOR_MODE = {\n className: 'operator',\n relevance: 0,\n begin: RE_OPERATOR\n };\n var LIST_CONTENTS_MODES = [{\n className: 'identifier',\n relevance: 0,\n begin: RE_IDENT\n }, OPERATOR_MODE, NUMBER_MODE];\n var MODULE_ACCESS_CONTENTS = [hljs.QUOTE_STRING_MODE, OPERATOR_MODE, {\n className: 'module',\n begin: \"\\\\b\" + RE_MODULE_IDENT,\n returnBegin: true,\n end: \"\\.\",\n contains: [{\n className: 'identifier',\n begin: RE_MODULE_IDENT,\n relevance: 0\n }]\n }];\n var PARAMS_CONTENTS = [{\n className: 'module',\n begin: \"\\\\b\" + RE_MODULE_IDENT,\n returnBegin: true,\n end: \"\\.\",\n relevance: 0,\n contains: [{\n className: 'identifier',\n begin: RE_MODULE_IDENT,\n relevance: 0\n }]\n }];\n var PARAMS_MODE = {\n begin: RE_IDENT,\n end: '(,|\\\\n|\\\\))',\n relevance: 0,\n contains: [OPERATOR_MODE, {\n className: 'typing',\n begin: ':',\n end: '(,|\\\\n)',\n returnBegin: true,\n relevance: 0,\n contains: PARAMS_CONTENTS\n }]\n };\n var FUNCTION_BLOCK_MODE = {\n className: 'function',\n relevance: 0,\n keywords: KEYWORDS,\n variants: [{\n begin: '\\\\s(\\\\(\\\\.?.*?\\\\)|' + RE_IDENT + ')\\\\s*=>',\n end: '\\\\s*=>',\n returnBegin: true,\n relevance: 0,\n contains: [{\n className: 'params',\n variants: [{\n begin: RE_IDENT\n }, {\n begin: RE_PARAM\n }, {\n begin: /\\(\\s*\\)/\n }]\n }]\n }, {\n begin: '\\\\s\\\\(\\\\.?[^;\\\\|]*\\\\)\\\\s*=>',\n end: '\\\\s=>',\n returnBegin: true,\n relevance: 0,\n contains: [{\n className: 'params',\n relevance: 0,\n variants: [PARAMS_MODE]\n }]\n }, {\n begin: '\\\\(\\\\.\\\\s' + RE_IDENT + '\\\\)\\\\s*=>'\n }]\n };\n MODULE_ACCESS_CONTENTS.push(FUNCTION_BLOCK_MODE);\n var CONSTRUCTOR_MODE = {\n className: 'constructor',\n begin: RE_MODULE_IDENT + '\\\\(',\n end: '\\\\)',\n illegal: '\\\\n',\n keywords: KEYWORDS,\n contains: [hljs.QUOTE_STRING_MODE, OPERATOR_MODE, {\n className: 'params',\n begin: '\\\\b' + RE_IDENT\n }]\n };\n var PATTERN_MATCH_BLOCK_MODE = {\n className: 'pattern-match',\n begin: '\\\\|',\n returnBegin: true,\n keywords: KEYWORDS,\n end: '=>',\n relevance: 0,\n contains: [CONSTRUCTOR_MODE, OPERATOR_MODE, {\n relevance: 0,\n className: 'constructor',\n begin: RE_MODULE_IDENT\n }]\n };\n var MODULE_ACCESS_MODE = {\n className: 'module-access',\n keywords: KEYWORDS,\n returnBegin: true,\n variants: [{\n begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+\" + RE_IDENT\n }, {\n begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+\\\\(\",\n end: \"\\\\)\",\n returnBegin: true,\n contains: [FUNCTION_BLOCK_MODE, {\n begin: '\\\\(',\n end: '\\\\)',\n skip: true\n }].concat(MODULE_ACCESS_CONTENTS)\n }, {\n begin: \"\\\\b(\" + RE_MODULE_IDENT + \"\\\\.)+{\",\n end: \"}\"\n }],\n contains: MODULE_ACCESS_CONTENTS\n };\n PARAMS_CONTENTS.push(MODULE_ACCESS_MODE);\n return {\n name: 'ReasonML',\n aliases: ['re'],\n keywords: KEYWORDS,\n illegal: '(:\\\\-|:=|\\\\${|\\\\+=)',\n contains: [hljs.COMMENT('/\\\\*', '\\\\*/', {\n illegal: '^(\\\\#,\\\\/\\\\/)'\n }), {\n className: 'character',\n begin: '\\'(\\\\\\\\[^\\']+|[^\\'])\\'',\n illegal: '\\\\n',\n relevance: 0\n }, hljs.QUOTE_STRING_MODE, {\n className: 'literal',\n begin: '\\\\(\\\\)',\n relevance: 0\n }, {\n className: 'literal',\n begin: '\\\\[\\\\|',\n end: '\\\\|\\\\]',\n relevance: 0,\n contains: LIST_CONTENTS_MODES\n }, {\n className: 'literal',\n begin: '\\\\[',\n end: '\\\\]',\n relevance: 0,\n contains: LIST_CONTENTS_MODES\n }, CONSTRUCTOR_MODE, {\n className: 'operator',\n begin: RE_OPERATOR_SPACED,\n illegal: '\\\\-\\\\->',\n relevance: 0\n }, NUMBER_MODE, hljs.C_LINE_COMMENT_MODE, PATTERN_MATCH_BLOCK_MODE, FUNCTION_BLOCK_MODE, {\n className: 'module-def',\n begin: \"\\\\bmodule\\\\s+\" + RE_IDENT + \"\\\\s+\" + RE_MODULE_IDENT + \"\\\\s+=\\\\s+{\",\n end: \"}\",\n returnBegin: true,\n keywords: KEYWORDS,\n relevance: 0,\n contains: [{\n className: 'module',\n relevance: 0,\n begin: RE_MODULE_IDENT\n }, {\n begin: '{',\n end: '}',\n skip: true\n }].concat(MODULE_ACCESS_CONTENTS)\n }, MODULE_ACCESS_MODE]\n };\n}\n\nmodule.exports = reasonml;"],"sourceRoot":""}