(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("ecl",function(a){function b(a){var b={},c=a.split(" ");for(var d=0;d!?|\/]/;var n;function o(a,b){var c=a.next();if(l[c]){var d=l[c](a,b);if(d!==false)return d}if(c=='"'||c=="'"){b.tokenize=p(c);return b.tokenize(a,b)}if(/[\[\]{}\(\),;\:\.]/.test(c)){n=c;return null}if(/\d/.test(c)){a.eatWhile(/[\w\.]/);return"number"}if(c=="/"){if(a.eat("*")){b.tokenize=q;return q(a,b)}if(a.eat("/")){a.skipToEnd();return"comment"}}if(m.test(c)){a.eatWhile(m);return"operator"}a.eatWhile(/[\w\$_]/);var o=a.current().toLowerCase();if(e.propertyIsEnumerable(o)){if(j.propertyIsEnumerable(o))n="newstatement";return"keyword"}else if(f.propertyIsEnumerable(o)){if(j.propertyIsEnumerable(o))n="newstatement";return"variable"}else if(g.propertyIsEnumerable(o)){if(j.propertyIsEnumerable(o))n="newstatement";return"variable-2"}else if(h.propertyIsEnumerable(o)){if(j.propertyIsEnumerable(o))n="newstatement";return"variable-3"}else if(i.propertyIsEnumerable(o)){if(j.propertyIsEnumerable(o))n="newstatement";return"builtin"}else{var r=o.length-1;while(r>=0&&(!isNaN(o[r])||o[r]=="_"))--r;if(r>0){var s=o.substr(0,r+1);if(h.propertyIsEnumerable(s)){if(j.propertyIsEnumerable(s))n="newstatement";return"variable-3"}}}if(k.propertyIsEnumerable(o))return"atom";return null}function p(a){return function(b,c){var d=false,e,f=false;while((e=b.next())!=null){if(e==a&&!d){f=true;break}d=!d&&e=="\\"}if(f||!d)c.tokenize=o;return"string"}}function q(a,b){var c=false,d;while(d=a.next()){if(d=="/"&&c){b.tokenize=o;break}c=d=="*"}return"comment"}function r(a,b,c,d,e){this.indented=a;this.column=b;this.type=c;this.align=d;this.prev=e}function s(a,b,c){return a.context=new r(a.indented,b,c,null,a.context)}function t(a){var b=a.context.type;if(b==")"||b=="]"||b=="}")a.indented=a.context.indented;return a.context=a.context.prev}return{startState:function(a){return{tokenize:null,context:new r((a||0)-d,0,"top",false),indented:0,startOfLine:true}},token:function(a,b){var c=b.context;if(a.sol()){if(c.align==null)c.align=false;b.indented=a.indentation();b.startOfLine=true}if(a.eatSpace())return null;n=null;var d=(b.tokenize||o)(a,b);if(d=="comment"||d=="meta")return d;if(c.align==null)c.align=true;if((n==";"||n==":")&&c.type=="statement")t(b);else if(n=="{")s(b,a.column(),"}");else if(n=="[")s(b,a.column(),"]");else if(n=="(")s(b,a.column(),")");else if(n=="}"){while(c.type=="statement")c=t(b);if(c.type=="}")c=t(b);while(c.type=="statement")c=t(b)}else if(n==c.type)t(b);else if(c.type=="}"||c.type=="top"||c.type=="statement"&&n=="newstatement")s(b,a.column(),"statement");b.startOfLine=false;return d},indent:function(a,b){if(a.tokenize!=o&&a.tokenize!=null)return 0;var c=a.context,e=b&&b.charAt(0);if(c.type=="statement"&&e=="}")c=c.prev;var f=e==c.type;if(c.type=="statement")return c.indented+(e=="{"?0:d);else if(c.align)return c.column+(f?0:1);else return c.indented+(f?0:d)},electricChars:"{}"}});a.defineMIME("text/x-ecl","ecl")}); //# sourceMappingURL=ecl.min.js.map