物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1 line
7.7 KiB

  1. function l(t){return{type:t,style:"keyword"}}var _=l("keyword a"),z=l("keyword b"),k=l("keyword c"),M=l("operator"),T={type:"atom",style:"atom"},w={type:"attribute",style:"attribute"},f=l("typedef"),I={if:_,while:_,else:z,do:z,try:z,return:k,break:k,continue:k,new:k,throw:k,var:l("var"),inline:w,static:w,using:l("import"),public:w,private:w,cast:l("cast"),import:l("import"),macro:l("macro"),function:l("function"),catch:l("catch"),untyped:l("untyped"),callback:l("cb"),for:l("for"),switch:l("switch"),case:l("case"),default:l("default"),in:M,never:l("property_access"),trace:l("trace"),class:f,abstract:f,enum:f,interface:f,typedef:f,extends:f,implements:f,dynamic:f,true:T,false:T,null:T},E=/[+\-*&%=<>!?|]/;function N(t,n,e){return n.tokenize=e,e(t,n)}function B(t,n){for(var e=!1,a;(a=t.next())!=null;){if(a==n&&!e)return!0;e=!e&&a=="\\"}}var f,F;function d(t,n,e){return f=t,F=e,n}function A(t,n){var e=t.next();if(e=='"'||e=="'")return N(t,n,Q(e));if(/[\[\]{}\(\),;\:\.]/.test(e))return d(e);if(e=="0"&&t.eat(/x/i))return t.eatWhile(/[\da-f]/i),d("number","number");if(/\d/.test(e)||e=="-"&&t.eat(/\d/))return t.match(/^\d*(?:\.\d*(?!\.))?(?:[eE][+\-]?\d+)?/),d("number","number");if(n.reAllowed&&e=="~"&&t.eat(/\//))return B(t,"/"),t.eatWhile(/[gimsu]/),d("regexp","string.special");if(e=="/")return t.eat("*")?N(t,n,R):t.eat("/")?(t.skipToEnd(),d("comment","comment")):(t.eatWhile(E),d("operator",null,t.current()));if(e=="#")return t.skipToEnd(),d("conditional","meta");if(e=="@")return t.eat(/:/),t.eatWhile(/[\w_]/),d("metadata","meta");if(E.test(e))return t.eatWhile(E),d("operator",null,t.current());var a;if(/[A-Z]/.test(e))return t.eatWhile(/[\w_<>]/),a=t.current(),d("type","type",a);t.eatWhile(/[\w_]/);var a=t.current(),i=I.propertyIsEnumerable(a)&&I[a];return i&&n.kwAllowed?d(i.type,i.style,a):d("variable","variable",a)}function Q(t){return function(n,e){return B(n,t)&&(e.tokenize=A),d("string","string")}}function R(t,n){for(var e=!1,a;a=t.next();){if(a=="/"&&e){n.tokenize=A;break}e=a=="*"}return d("comment","comment")}var j={atom:!0,number:!0,variable:!0,string:!0,regexp:!0};function q(t,n,e,a,i,s){this.indented=t,this.column=n,this.type=e,this.prev=i,this.info=s,a!=null&&(this.align=a)}function U(t,n){for(var e=t.localVars;e;e=e.next)if(e.name==n)return!0}function X(t,n,e,a,i){var s=t.cc;for(o.state=t,o.stream=i,o.marked=null,o.cc=s,t.lexical.hasOwnProperty("align")||(t.lexical.align=!0);;){var x=s.length?s.pop():v;if(x(e,a)){for(;s.length&&s[s.length-1].lex;)s.pop()();return o.marked?o.marked:e=="variable"&&U(t,a)?"variableName.local":e=="variable"&&Y(t,a)?"variableName.special":n}}}function Y(t,n){if(/[a-z]/.test(n.charAt(0)))return!1;for(var e=t.importedtypes.length,a=0;a<e;a++)if(t.importedtypes[a]==n)return!0}function C(t){for(var n=o.state,e=n.importedtypes;e;e=e.next)if(e.name==t)return;n.importedtypes={name:t,next:n.importedtypes}}var o={state:null,column:null,marked:null,cc:null};function b(){for(var t=arguments.length-1;t>=0;t--)o.cc.push(arguments[t])}function r(){return b.apply(null,arguments),!0}function $(t,n){for(var e=n;e;e=e.next)if(e.name==t)return!0;return!1}function S(t){var n=o.state;if(n.context){if(o.marked="def",$(t,n.localVars))return;n.localVars={name:t,next:n.localVars}}else if(n.globalVars){if($(t,n.globalVars))return;n.globalVars={name:t,next:n.globalVars}}}var tt={name:"this",next:null};function O(){o.state.context||(o.state.localVars=tt),o.state.context={prev:o.state.context,vars:o.state.localVars}}function V(){o.state.localVars=o.state.context.vars,o.state.context=o.state.context.prev}V.lex=!0;function c(t,n){var e=function(){var a=o.state;a.lexical=new q(a.indented,o.stream.column(),t,null,a.lexical,n)};return e.lex=!0,e}function u(){var t=o.state;t.lexical.prev&&(t.lexical.type==")"&&(t.indented=t.lexical.indented),t.lexical=t.lexical.prev)}u.lex=!0;function p(t){function n(e){return e==t?r():t==";"?b():r(n)}return n}function v(t){return t=="@"?r(H):t=="var"?r(c("vardef"),P,p(";"),u):t=="keyword a"?r(c("form"),m,v,u):t=="keyword b"?r(c("form"),v,u):t=="{"?r(c("}"),O,Z,u,V):t==";"?r():t=="attri