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