{"version":3,"sources":["../../node_modules/codemirror/mode/mllike/mllike.js"],"names":["mod","exports","module","require","define","amd","CodeMirror","defineMode","_config","parserConfig","words","as","do","else","end","exception","fun","functor","if","in","include","let","of","open","rec","struct","then","type","val","while","with","extraWords","prop","hasOwnProperty","hintWords","k","push","registerHelper","tokenBase","stream","state","ch","next","tokenize","tokenString","eat","longString","tokenLongString","commentLevel","tokenComment","eatWhile","slashComments","skipToEnd","test","cur","current","escaped","prev","startState","token","eatSpace","blockCommentStart","blockCommentEnd","lineComment","defineMIME","name","and","assert","begin","class","constraint","done","downto","external","function","initializer","lazy","match","method","mutable","new","nonrec","object","private","sig","to","try","value","virtual","when","raise","failwith","true","false","asr","land","lor","lsl","lsr","lxor","or","raise_notrace","trace","exit","print_string","print_endline","int","float","bool","char","string","unit","List","abstract","base","default","delegate","do!","downcast","elif","extern","finally","for","global","inherit","inline","interface","internal","let!","member","namespace","null","override","public","return!","return","select","static","upcast","use!","use","void","yield!","yield","atomic","break","checked","component","const","constructor","continue","eager","event","fixed","mixin","parallel","process","protected","pure","sealed","tailcall","trait","volatile","Seq","Map","Set","Option","not","abstype","andalso","case","datatype","fn","handle","infix","infixr","local","nonfix","op","orelse","withtype","eqtype","sharing","signature","structure","where","real"],"mappings":"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","file":"mllike.min.js","sourcesContent":["// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/LICENSE\n\n(function(mod) {\n if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n mod(require(\"../../lib/codemirror\"));\n else if (typeof define == \"function\" && define.amd) // AMD\n define([\"../../lib/codemirror\"], mod);\n else // Plain browser env\n mod(CodeMirror);\n})(function(CodeMirror) {\n\"use strict\";\n\nCodeMirror.defineMode('mllike', function(_config, parserConfig) {\n var words = {\n 'as': 'keyword',\n 'do': 'keyword',\n 'else': 'keyword',\n 'end': 'keyword',\n 'exception': 'keyword',\n 'fun': 'keyword',\n 'functor': 'keyword',\n 'if': 'keyword',\n 'in': 'keyword',\n 'include': 'keyword',\n 'let': 'keyword',\n 'of': 'keyword',\n 'open': 'keyword',\n 'rec': 'keyword',\n 'struct': 'keyword',\n 'then': 'keyword',\n 'type': 'keyword',\n 'val': 'keyword',\n 'while': 'keyword',\n 'with': 'keyword'\n };\n\n var extraWords = parserConfig.extraWords || {};\n for (var prop in extraWords) {\n if (extraWords.hasOwnProperty(prop)) {\n words[prop] = parserConfig.extraWords[prop];\n }\n }\n var hintWords = [];\n for (var k in words) { hintWords.push(k); }\n CodeMirror.registerHelper(\"hintWords\", \"mllike\", hintWords);\n\n function tokenBase(stream, state) {\n var ch = stream.next();\n\n if (ch === '\"') {\n state.tokenize = tokenString;\n return state.tokenize(stream, state);\n }\n if (ch === '{') {\n if (stream.eat('|')) {\n state.longString = true;\n state.tokenize = tokenLongString;\n return state.tokenize(stream, state);\n }\n }\n if (ch === '(') {\n if (stream.eat('*')) {\n state.commentLevel++;\n state.tokenize = tokenComment;\n return state.tokenize(stream, state);\n }\n }\n if (ch === '~' || ch === '?') {\n stream.eatWhile(/\\w/);\n return 'variable-2';\n }\n if (ch === '`') {\n stream.eatWhile(/\\w/);\n return 'quote';\n }\n if (ch === '/' && parserConfig.slashComments && stream.eat('/')) {\n stream.skipToEnd();\n return 'comment';\n }\n if (/\\d/.test(ch)) {\n if (ch === '0' && stream.eat(/[bB]/)) {\n stream.eatWhile(/[01]/);\n } if (ch === '0' && stream.eat(/[xX]/)) {\n stream.eatWhile(/[0-9a-fA-F]/)\n } if (ch === '0' && stream.eat(/[oO]/)) {\n stream.eatWhile(/[0-7]/);\n } else {\n stream.eatWhile(/[\\d_]/);\n if (stream.eat('.')) {\n stream.eatWhile(/[\\d]/);\n }\n if (stream.eat(/[eE]/)) {\n stream.eatWhile(/[\\d\\-+]/);\n }\n }\n return 'number';\n }\n if ( /[+\\-*&%=<>!?|@\\.~:]/.test(ch)) {\n return 'operator';\n }\n if (/[\\w\\xa1-\\uffff]/.test(ch)) {\n stream.eatWhile(/[\\w\\xa1-\\uffff]/);\n var cur = stream.current();\n return words.hasOwnProperty(cur) ? words[cur] : 'variable';\n }\n return null\n }\n\n function tokenString(stream, state) {\n var next, end = false, escaped = false;\n while ((next = stream.next()) != null) {\n if (next === '\"' && !escaped) {\n end = true;\n break;\n }\n escaped = !escaped && next === '\\\\';\n }\n if (end && !escaped) {\n state.tokenize = tokenBase;\n }\n return 'string';\n };\n\n function tokenComment(stream, state) {\n var prev, next;\n while(state.commentLevel > 0 && (next = stream.next()) != null) {\n if (prev === '(' && next === '*') state.commentLevel++;\n if (prev === '*' && next === ')') state.commentLevel--;\n prev = next;\n }\n if (state.commentLevel <= 0) {\n state.tokenize = tokenBase;\n }\n return 'comment';\n }\n\n function tokenLongString(stream, state) {\n var prev, next;\n while (state.longString && (next = stream.next()) != null) {\n if (prev === '|' && next === '}') state.longString = false;\n prev = next;\n }\n if (!state.longString) {\n state.tokenize = tokenBase;\n }\n return 'string';\n }\n\n return {\n startState: function() {return {tokenize: tokenBase, commentLevel: 0, longString: false};},\n token: function(stream, state) {\n if (stream.eatSpace()) return null;\n return state.tokenize(stream, state);\n },\n\n blockCommentStart: \"(*\",\n blockCommentEnd: \"*)\",\n lineComment: parserConfig.slashComments ? \"//\" : null\n };\n});\n\nCodeMirror.defineMIME('text/x-ocaml', {\n name: 'mllike',\n extraWords: {\n 'and': 'keyword',\n 'assert': 'keyword',\n 'begin': 'keyword',\n 'class': 'keyword',\n 'constraint': 'keyword',\n 'done': 'keyword',\n 'downto': 'keyword',\n 'external': 'keyword',\n 'function': 'keyword',\n 'initializer': 'keyword',\n 'lazy': 'keyword',\n 'match': 'keyword',\n 'method': 'keyword',\n 'module': 'keyword',\n 'mutable': 'keyword',\n 'new': 'keyword',\n 'nonrec': 'keyword',\n 'object': 'keyword',\n 'private': 'keyword',\n 'sig': 'keyword',\n 'to': 'keyword',\n 'try': 'keyword',\n 'value': 'keyword',\n 'virtual': 'keyword',\n 'when': 'keyword',\n\n // builtins\n 'raise': 'builtin',\n 'failwith': 'builtin',\n 'true': 'builtin',\n 'false': 'builtin',\n\n // Pervasives builtins\n 'asr': 'builtin',\n 'land': 'builtin',\n 'lor': 'builtin',\n 'lsl': 'builtin',\n 'lsr': 'builtin',\n 'lxor': 'builtin',\n 'mod': 'builtin',\n 'or': 'builtin',\n\n // More Pervasives\n 'raise_notrace': 'builtin',\n 'trace': 'builtin',\n 'exit': 'builtin',\n 'print_string': 'builtin',\n 'print_endline': 'builtin',\n\n 'int': 'type',\n 'float': 'type',\n 'bool': 'type',\n 'char': 'type',\n 'string': 'type',\n 'unit': 'type',\n\n // Modules\n 'List': 'builtin'\n }\n});\n\nCodeMirror.defineMIME('text/x-fsharp', {\n name: 'mllike',\n extraWords: {\n 'abstract': 'keyword',\n 'assert': 'keyword',\n 'base': 'keyword',\n 'begin': 'keyword',\n 'class': 'keyword',\n 'default': 'keyword',\n 'delegate': 'keyword',\n 'do!': 'keyword',\n 'done': 'keyword',\n 'downcast': 'keyword',\n 'downto': 'keyword',\n 'elif': 'keyword',\n 'extern': 'keyword',\n 'finally': 'keyword',\n 'for': 'keyword',\n 'function': 'keyword',\n 'global': 'keyword',\n 'inherit': 'keyword',\n 'inline': 'keyword',\n 'interface': 'keyword',\n 'internal': 'keyword',\n 'lazy': 'keyword',\n 'let!': 'keyword',\n 'match': 'keyword',\n 'member': 'keyword',\n 'module': 'keyword',\n 'mutable': 'keyword',\n 'namespace': 'keyword',\n 'new': 'keyword',\n 'null': 'keyword',\n 'override': 'keyword',\n 'private': 'keyword',\n 'public': 'keyword',\n 'return!': 'keyword',\n 'return': 'keyword',\n 'select': 'keyword',\n 'static': 'keyword',\n 'to': 'keyword',\n 'try': 'keyword',\n 'upcast': 'keyword',\n 'use!': 'keyword',\n 'use': 'keyword',\n 'void': 'keyword',\n 'when': 'keyword',\n 'yield!': 'keyword',\n 'yield': 'keyword',\n\n // Reserved words\n 'atomic': 'keyword',\n 'break': 'keyword',\n 'checked': 'keyword',\n 'component': 'keyword',\n 'const': 'keyword',\n 'constraint': 'keyword',\n 'constructor': 'keyword',\n 'continue': 'keyword',\n 'eager': 'keyword',\n 'event': 'keyword',\n 'external': 'keyword',\n 'fixed': 'keyword',\n 'method': 'keyword',\n 'mixin': 'keyword',\n 'object': 'keyword',\n 'parallel': 'keyword',\n 'process': 'keyword',\n 'protected': 'keyword',\n 'pure': 'keyword',\n 'sealed': 'keyword',\n 'tailcall': 'keyword',\n 'trait': 'keyword',\n 'virtual': 'keyword',\n 'volatile': 'keyword',\n\n // builtins\n 'List': 'builtin',\n 'Seq': 'builtin',\n 'Map': 'builtin',\n 'Set': 'builtin',\n 'Option': 'builtin',\n 'int': 'builtin',\n 'string': 'builtin',\n 'not': 'builtin',\n 'true': 'builtin',\n 'false': 'builtin',\n\n 'raise': 'builtin',\n 'failwith': 'builtin'\n },\n slashComments: true\n});\n\n\nCodeMirror.defineMIME('text/x-sml', {\n name: 'mllike',\n extraWords: {\n 'abstype': 'keyword',\n 'and': 'keyword',\n 'andalso': 'keyword',\n 'case': 'keyword',\n 'datatype': 'keyword',\n 'fn': 'keyword',\n 'handle': 'keyword',\n 'infix': 'keyword',\n 'infixr': 'keyword',\n 'local': 'keyword',\n 'nonfix': 'keyword',\n 'op': 'keyword',\n 'orelse': 'keyword',\n 'raise': 'keyword',\n 'withtype': 'keyword',\n 'eqtype': 'keyword',\n 'sharing': 'keyword',\n 'sig': 'keyword',\n 'signature': 'keyword',\n 'structure': 'keyword',\n 'where': 'keyword',\n 'true': 'keyword',\n 'false': 'keyword',\n\n // types\n 'int': 'builtin',\n 'real': 'builtin',\n 'string': 'builtin',\n 'char': 'builtin',\n 'bool': 'builtin'\n },\n slashComments: true\n});\n\n});\n"]}