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("haxe",function(a,b){var c=a.indentUnit;function d(a){return{type:a,style:"keyword"}}var e=d("keyword a"),f=d("keyword b"),g=d("keyword c");var h=d("operator"),i={type:"atom",style:"atom"},j={type:"attribute",style:"attribute"};var k=d("typedef");var l={"if":e,"while":e,"else":f,"do":f,"try":f,"return":g,"break":g,"continue":g,"new":g,"throw":g,"var":d("var"),inline:j,"static":j,using:d("import"),"public":j,"private":j,cast:d("cast"),"import":d("import"),macro:d("macro"),"function":d("function"),"catch":d("catch"),untyped:d("untyped"),callback:d("cb"),"for":d("for"),"switch":d("switch"),"case":d("case"),"default":d("default"),"in":h,never:d("property_access"),trace:d("trace"),"class":k,"abstract":k,"enum":k,"interface":k,typedef:k,"extends":k,"implements":k,dynamic:k,"true":i,"false":i,"null":i};var m=/[+\-*&%=<>!?|]/;function n(a,b,c){b.tokenize=c;return c(a,b)}function o(a,b){var c=false,d;while((d=a.next())!=null){if(d==b&&!c)return true;c=!c&&d=="\\"}}var k,p;function q(a,b,c){k=a;p=c;return b}function r(a,b){var c=a.next();if(c=='"'||c=="'"){return n(a,b,s(c))}else if(/[\[\]{}\(\),;\:\.]/.test(c)){return q(c)}else if(c=="0"&&a.eat(/x/i)){a.eatWhile(/[\da-f]/i);return q("number","number")}else if(/\d/.test(c)||c=="-"&&a.eat(/\d/)){a.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/);return q("number","number")}else if(b.reAllowed&&(c=="~"&&a.eat(/\//))){o(a,"/");a.eatWhile(/[gimsu]/);return q("regexp","string-2")}else if(c=="/"){if(a.eat("*")){return n(a,b,t)}else if(a.eat("/")){a.skipToEnd();return q("comment","comment")}else{a.eatWhile(m);return q("operator",null,a.current())}}else if(c=="#"){a.skipToEnd();return q("conditional","meta")}else if(c=="@"){a.eat(/:/);a.eatWhile(/[\w_]/);return q("metadata","meta")}else if(m.test(c)){a.eatWhile(m);return q("operator",null,a.current())}else{var d;if(/[A-Z]/.test(c)){a.eatWhile(/[\w_<>]/);d=a.current();return q("type","variable-3",d)}else{a.eatWhile(/[\w_]/);var d=a.current(),e=l.propertyIsEnumerable(d)&&l[d];return e&&b.kwAllowed?q(e.type,e.style,d):q("variable","variable",d)}}}function s(a){return function(b,c){if(o(b,a))c.tokenize=r;return q("string","string")}}function t(a,b){var c=false,d;while(d=a.next()){if(d=="/"&&c){b.tokenize=r;break}c=d=="*"}return q("comment","comment")}var u={atom:true,number:true,variable:true,string:true,regexp:true};function v(a,b,c,d,e,f){this.indented=a;this.column=b;this.type=c;this.prev=e;this.info=f;if(d!=null)this.align=d}function w(a,b){for(var c=a.localVars;c;c=c.next)if(c.name==b)return true}function x(a,b,c,d,e){var f=a.cc;A.state=a;A.stream=e;A.marked=null,A.cc=f;if(!a.lexical.hasOwnProperty("align"))a.lexical.align=true;while(true){var g=f.length?f.pop():L;if(g(c,d)){while(f.length&&f[f.length-1].lex)f.pop()();if(A.marked)return A.marked;if(c=="variable"&&w(a,d))return"variable-2";if(c=="variable"&&y(a,d))return"variable-3";return b}}}function y(a,b){if(/[a-z]/.test(b.charAt(0)))return false;var c=a.importedtypes.length;for(var d=0;d<c;d++)if(a.importedtypes[d]==b)return true}function z(a){var b=A.state;for(var c=b.importedtypes;c;c=c.next)if(c.name==a)return;b.importedtypes={name:a,next:b.importedtypes}}var A={state:null,column:null,marked:null,cc:null};function B(){for(var a=arguments.length-1;a>=0;a--)A.cc.push(arguments[a])}function C(){B.apply(null,arguments);return true}function D(a,b){for(var c=b;c;c=c.next)if(c.name==a)return true;return false}function E(a){var b=A.state;if(b.context){A.marked="def";if(D(a,b.localVars))return;b.localVars={name:a,next:b.localVars}}else if(b.globalVars){if(D(a,b.globalVars))return;b.globalVars={name:a,next:b.globalVars}}}var F={name:"this",next:null};function G(){if(!A.state.context)A.state.localVars=F;A.state.context={prev:A.state.context,vars:A.state.localVars}}function H(){A.state.localVars=A.state.context.vars;A.state.context=A.state.context.prev}H.lex=true;function I(a,b){var c=function(){var c=A.state;c.lexical=new v(c.indented,A.stream.column(),a,null,c.lexical,b)};c.lex=true;return c}function J(){var a=A.state;if(a.lexical.prev){if(a.lexical.type==")")a.indented=a.lexical.indented;a.lexical=a.lexical.prev}}J.lex=true;function K(a){function b(c){if(c==a)return C();else if(a==";")return B();else return C(b)}return b}function L(a){if(a=="@")return C(Q);if(a=="var")return C(I("vardef"),Z,K(";"),J);if(a=="keyword a")return C(I("form"),M,L,J);if(a=="keyword b")return C(I("form"),L,J);if(a=="{")return C(I("}"),G,Y,J,H);if(a==";")return C();if(a=="attribute")return C(P);if(a=="function")return C(ba);if(a=="for")return C(I("form"),K("("),I(")"),_,K(")"),J,L,J);if(a=="variable")return C(I("stat"),U);if(a=="switch")return C(I("form"),M,I("}","switch"),K("{"),Y,J,J);if(a=="case")return C(M,K(":"));if(a=="default")return C(K(":"));if(a=="catch")return C(I("form"),G,K("("),fa,K(")"),L,J,H);if(a=="import")return C(S,K(";"));if(a=="typedef")return C(T);return B(I("stat"),M,K(";"),J)}function M(a){if(u.hasOwnProperty(a))return C(O);if(a=="type")return C(O);if(a=="function")return C(ba);if(a=="keyword c")return C(N);if(a=="(")return C(I(")"),N,K(")"),J,O);if(a=="operator")return C(M);if(a=="[")return C(I("]"),X(N,"]"),J,O);if(a=="{")return C(I("}"),X(W,"}"),J,O);return C()}function N(a){if(a.match(/[;\}\)\],]/))return B();return B(M)}function O(a,b){if(a=="operator"&&/\+\+|--/.test(b))return C(O);if(a=="operator"||a==":")return C(M);if(a==";")return;if(a=="(")return C(I(")"),X(M,")"),J,O);if(a==".")return C(V,O);if(a=="[")return C(I("]"),M,K("]"),J,O)}function P(a){if(a=="attribute")return C(P);if(a=="function")return C(ba);if(a=="var")return C(Z)}function Q(a){if(a==":")return C(Q);if(a=="variable")return C(Q);if(a=="(")return C(I(")"),X(R,")"),J,L)}function R(a){if(a=="variable")return C()}function S(a,b){if(a=="variable"&&/[A-Z]/.test(b.charAt(0))){z(b);return C()}else if(a=="variable"||a=="property"||a=="."||b=="*")return C(S)}function T(a,b){if(a=="variable"&&/[A-Z]/.test(b.charAt(0))){z(b);return C()}else if(a=="type"&&/[A-Z]/.test(b.charAt(0))){return C()}}function U(a){if(a==":")return C(J,L);return B(O,K(";"),J)}function V(a){if(a=="variable"){A.marked="property";return C()}}function W(a){if(a=="variable")A.marked="property";if(u.hasOwnProperty(a))return C(K(":"),M)}function X(a,b){function c(d){if(d==",")return C(a,c);if(d==b)return C();return C(K(b))}return function(d){if(d==b)return C();else return B(a,c)}}function Y(a){if(a=="}")return C();return B(L,Y)}function Z(a,b){if(a=="variable"){E(b);return C(ca,$)}return C()}function $(a,b){if(b=="=")return C(M,$);if(a==",")return C(Z)}function _(a,b){if(a=="variable"){E(b);return C(aa,M)}else{return B()}}function aa(a,b){if(b=="in")return C()}function ba(a,b){if(a=="variable"||a=="type"){E(b);return C(ba)}if(b=="new")return C(ba);if(a=="(")return C(I(")"),G,X(fa,")"),J,ca,L,H)}function ca(a){if(a==":")return C(da)}function da(a){if(a=="type")return C();if(a=="variable")return C();if(a=="{")return C(I("}"),X(ea,"}"),J)}function ea(a){if(a=="variable")return C(ca)}function fa(a,b){if(a=="variable"){E(b);return C(ca)}}return{startState:function(a){var d=["Int","Float","String","Void","Std","Bool","Dynamic","Array"];var e={tokenize:r,reAllowed:true,kwAllowed:true,cc:[],lexical:new v((a||0)-c,0,"block",false),localVars:b.localVars,importedtypes:d,context:b.localVars&&{vars:b.localVars},indented:0};if(b.globalVars&&typeof b.globalVars=="object")e.globalVars=b.globalVars;return e},token:function(a,b){if(a.sol()){if(!b.lexical.hasOwnProperty("align"))b.lexical.align=false;b.indented=a.indentation()}if(a.eatSpace())return null;var c=b.tokenize(a,b);if(k=="comment")return c;b.reAllowed=!!(k=="operator"||k=="keyword c"||k.match(/^[\[{}\(,;:]$/));b.kwAllowed=k!=".";return x(b,c,k,p,a)},indent:function(a,b){if(a.tokenize!=r)return 0;var d=b&&b.charAt(0),e=a.lexical;if(e.type=="stat"&&d=="}")e=e.prev;var f=e.type,g=d==f;if(f=="vardef")return e.indented+4;else if(f=="form"&&d=="{")return e.indented;else if(f=="stat"||f=="form")return e.indented+c;else if(e.info=="switch"&&!g)return e.indented+(/^(?:case|default)\b/.test(b)?c:2*c);else if(e.align)return e.column+(g?0:1);else return e.indented+(g?0:c)},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}});a.defineMIME("text/x-haxe","haxe");a.defineMode("hxml",function(){return{startState:function(){return{define:false,inString:false}},token:function(a,b){var c=a.peek();var d=a.sol();if(c=="#"){a.skipToEnd();return"comment"}if(d&&c=="-"){var e="variable-2";a.eat(/-/);if(a.peek()=="-"){a.eat(/-/);e="keyword a"}if(a.peek()=="D"){a.eat(/[D]/);e="keyword c";b.define=true}a.eatWhile(/[A-Z]/i);return e}var c=a.peek();if(b.inString==false&&c=="'"){b.inString=true;a.next()}if(b.inString==true){if(a.skipTo("'")){}else{a.skipToEnd()}if(a.peek()=="'"){a.next();b.inString=false}return"string"}a.next();return null},lineComment:"#"}});a.defineMIME("text/x-hxml","hxml")});
2//# sourceMappingURL=haxe.min.js.map