物管理前端
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 lines
7.7 KiB

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=="attribute"?r(G):t=="function"?r(g):t=="for"?r(c("form"),p("("),c(")"),ot,p(")"),u,v,u):t=="variable"?r(c("stat"),rt):t=="switch"?r(c("form"),m,c("}","switch"),p("{"),Z,u,u):t=="case"?r(m,p(":")):t=="default"?r(p(":")):t=="catch"?r(c("form"),O,p("("),L,p(")"),v,u,V):t=="import"?r(J,p(";")):t=="typedef"?r(et):b(c("stat"),m,p(";"),u)}function m(t){return j.hasOwnProperty(t)||t=="type"?r(y):t=="function"?r(g):t=="keyword c"?r(D):t=="("?r(c(")"),D,p(")"),u,y):t=="operator"?r(m):t=="["?r(c("]"),h(D,"]"),u,y):t=="{"?r(c("}"),h(it,"}"),u,y):r()}function D(t){return t.match(/[;\}\)\],]/)?b():b(m)}function y(t,n){if(t=="operator"&&/\+\+|--/.test(n))return r(y);if(t=="operator"||t==":")return r(m);if(t!=";"){if(t=="(")return r(c(")"),h(m,")"),u,y);if(t==".")return r(at,y);if(t=="[")return r(c("]"),m,p("]"),u,y)}}function G(t){if(t=="attribute")return r(G);if(t=="function")return r(g);if(t=="var")return r(P)}function H(t){if(t==":"||t=="variable")return r(H);if(t=="(")return r(c(")"),h(nt,")"),u,v)}function nt(t){if(t=="variable")return r()}function J(t,n){if(t=="variable"&&/[A-Z]/.test(n.charAt(0)))return C(n),r();if(t=="variable"||t=="property"||t=="."||n=="*")return r(J)}function et(t,n){if(t=="variable"&&/[A-Z]/.test(n.charAt(0)))return C(n),r();if(t=="type"&&/[A-Z]/.test(n.charAt(0)))return r()}function rt(t){return t==":"?r(u,v):b(y,p(";"),u)}function at(t){if(t=="variable")return o.marked="property",r()}function it(t){if(t=="variable"&&(o.marked="property"),j.hasOwnProperty(t))return r(p(":"),m)}function h(t,n){function e(a){return a==","?r(t,e):a==n?r():r(p(n))}return function(a){return a==n?r():b(t,e)}}function Z(t){return t=="}"?r():b(v,Z)}function P(t,n){return t=="variable"?(S(n),r(W,K)):r()}function K(t,n){if(n=="=")return r(m,K);if(t==",")return r(P)}function ot(t,n){return t=="variable"?(S(n),r(ut,m)):b()}function ut(t,n){if(n=="in")return r()}function g(t,n){if(t=="variable"||t=="type")return S(n),r(g);if(n=="new")return r(g);if(t=="(")return r(c(")"),O,h(L,")"),u,W,v,V)}function W(t){if(t==":")return r(lt)}function lt(t){if(t=="type"||t=="variable")return r();if(t=="{")return r(c("}"),h(ct,"}"),u)}function ct(t){if(t=="variable")return r(W)}function L(t,n){if(t=="variable")return S(n),r(W)}const ft={name:"haxe",startState:function(t){var n=["Int","Float","String","Void","Std","Bool","Dynamic","Array"],e={tokenize:A,reAllowed:!0,kwAllowed:!0,cc:[],lexical:new q(-t,0,"block",!1),importedtypes:n,context:null,indented:0};return e},token:function(t,n){if(t.sol()&&(n.lexical.hasOwnProperty("align")||(n.lexical.align=!1),n.indented=t.indentation()),t.eatSpace())return null;var e=n.tokenize(t,n);return f=="comment"?e:(n.reAllowed=!!(f=="operator"||f=="keyword c"||f.match(/^[\[{}\(,;:]$/)),n.kwAllowed=f!=".",X(n,e,f,F,t))},indent:function(t,n,e){if(t.tokenize!=A)return 0;var a=n&&n.charAt(0),i=t.lexical;i.type=="stat"&&a=="}"&&(i=i.prev);var s=i.type,x=a==s;return s=="vardef"?i.indented+4:s=="form"&&a=="{"?i.indented:s=="stat"||s=="form"?i.indented+e.unit:i.info=="switch"&&!x?i.indented+(/^(?:case|default)\b/.test(n)?e.unit:2*e.unit):i.align?i.column+(x?0:1):i.indented+(x?0:e.unit)},languageData:{indentOnInput:/^\s*[{}]$/,commentTokens:{line:"//",block:{open:"/*",close:"*/"}}}},st={name:"hxml",startState:function(){return{define:!1,inString:!1}},token:function(t,n){var i=t.peek(),e=t.sol();if(i=="#")return t.skipToEnd(),"comment";if(e&&i=="-"){var a="variable-2";return t.eat(/-/),t.peek()=="-"&&(t.eat(/-/),a="keyword a"),t.peek()=="D"&&(t.eat(/[D]/),a="keyword c",n.define=!0),t.eatWhile(/[A-Z]/i),a}var i=t.peek();return n.inString==!1&&i=="'"&&(n.inString=!0,t.next()),n.inString==!0?(t.skipTo("'")||t.skipToEnd(),t.peek()=="'"&&(t.next(),n.inString=!1),"string"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}};export{ft as haxe,st as hxml};