1(function(a){if(typeof exports=="object"&&typeof module=="object")a(require("../../lib/codemirror"));else if(typeof define=="function"&&define.amd)define(["../../lib/codemirror"],a);else a(CodeMirror)})(function(a){"use strict";a.defineMode("eiffel",function(){function a(a){var b={};for(var c=0,d=a.length;c<d;++c)b[a[c]]=true;return b}var b=a(["note","across","when","variant","until","unique","undefine","then","strip","select","retry","rescue","require","rename","reference","redefine","prefix","once","old","obsolete","loop","local","like","is","inspect","infix","include","if","frozen","from","external","export","ensure","end","elseif","else","do","creation","create","check","alias","agent","separate","invariant","inherit","indexing","feature","expanded","deferred","class","Void","True","Result","Precursor","False","Current","create","attached","detachable","as","and","implies","not","or"]);var c=a([":=","and then","and","or","<<",">>"]);function d(a,b,c){c.tokenize.push(a);return a(b,c)}function e(a,b){if(a.eatSpace())return null;var c=a.next();if(c=='"'||c=="'"){return d(f(c,"string"),a,b)}else if(c=="-"&&a.eat("-")){a.skipToEnd();return"comment"}else if(c==":"&&a.eat("=")){return"operator"}else if(/[0-9]/.test(c)){a.eatWhile(/[xXbBCc0-9\.]/);a.eat(/[\?\!]/);return"ident"}else if(/[a-zA-Z_0-9]/.test(c)){a.eatWhile(/[a-zA-Z_0-9]/);a.eat(/[\?\!]/);return"ident"}else if(/[=+\-\/*^%<>~]/.test(c)){a.eatWhile(/[=+\-\/*^%<>~]/);return"operator"}else{return null}}function f(a,b,c){return function(d,e){var f=false,g;while((g=d.next())!=null){if(g==a&&(c||!f)){e.tokenize.pop();break}f=!f&&g=="%"}return b}}return{startState:function(){return{tokenize:[e]}},token:function(a,d){var e=d.tokenize[d.tokenize.length-1](a,d);if(e=="ident"){var f=a.current();e=b.propertyIsEnumerable(a.current())?"keyword":c.propertyIsEnumerable(a.current())?"operator":/^[A-Z][A-Z_0-9]*$/g.test(f)?"tag":/^0[bB][0-1]+$/g.test(f)?"number":/^0[cC][0-7]+$/g.test(f)?"number":/^0[xX][a-fA-F0-9]+$/g.test(f)?"number":/^([0-9]+\.[0-9]*)|([0-9]*\.[0-9]+)$/g.test(f)?"number":/^[0-9]+$/g.test(f)?"number":"variable"}return e},lineComment:"--"}});a.defineMIME("text/x-eiffel","eiffel")});
2//# sourceMappingURL=eiffel.min.js.map