1{"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"]}