File manager - Edit - /home/opticamezl/www/newok/xquery.tar
Back
xquery.min.js.gz 0000644 00000005154 15174662544 0007663 0 ustar 00 � �]o��"!����,P����ۤ@�&�^RW۷`$�f#�Z�J����)JN����p8�[r�lea��qI_��jy�7����9Q��%Q�WjU���e���Vh��h<�+�0.T�k��҄��o-�RH��H���F�.��g�Y$%���*� b��C�Ik���Z�Lʑ�v�J����-I9}}b�h�x�����m�Dmd7��ۊg�o��.�~�T:2�1Q ���M��-�YU�nN���8�e�O#۪�'mؾ�ix!����{�*��'U�J��}��g�--�VU�\(n@�L�N �����Sk���G�e�7[|X-Z�IB��i��|�4�T+K���iX��U0��`��*���Ƶ�JUUyU�B�5��AIcu[�i��ƃ���R�j��8�IK^��U�R�yD�P��/Y[9\ŭC����Mz�H��R�B+ ���k'`)�����_�S�JX��+�B���nL ��rDŽ�B�3�,�i^�?��a��T��n,ג�[,�Fk,U�N�x�:��R���ex��J��m�o��s�� ����+͙�x�J��! �8QC^@�c͵pSåV<q?�TA�BZ� d�O��@��r��brղG����ϸ{>� vU�k�59kU���-�l�pg�,���I��#Ǵ��Ti���ɑ NE��R�F�D{�*]b$���r�i�f+͚�6n�|�Ykw�F�{o ���͟�j��V7H�Aj�ԬE�S�M�T�R&O�e��f�Y T�)ּfH�)ƣ��0��3>�~b8�b"�>d�#�k*�Ua���KG�2�4cy]{�p�+%@ijp��g��� ���gE��{Zͤ���0Ǽc1Lm[wf�|���Ns�읠mJ��A��m�&�nkΫ�;�u���O\����$zv�x^s��ʂ�� ,K���]�A�� ʠ����E��D�Q��ʮ'�����SZ�63�X�<��N�����dLn/��Eq��Pw�n*~�:����kCQ����r�Tř���^<t/�7�;��Cms��骈���������뫻��/+�^�1��yaW7J�z�/���5�o|}ٍ?_�e z!���+�y���1��s� }�L�SmLv�:m�~�a�Wb�z����^�L�R�ۏ�H%��\X���U⅗w֧@����O���\��M���@��C����Y����<ĪG��J#V��?��0ם�;�߂�:�]P+!�˃����v�>���z��!��|F�w�SP�\ŃZ��,' ��9� �? F$!;��)6��a7�U� ��'��1I�)IH�k��נ|2���0�gٰ������כi!�U>��7�����]Y<\��!� �]��E_���ãj�Ix�X�<����.���J��\$�>8���41Ml~�9i�˘ӉX�"��B_�2�:��)I��(���S'�}���� ���@8�*!�������zK' `��g6&cB'�A���~�����ٯs3o���Y��|N�'��t1��9���x�T��;~�w~%�&��i��ŇJ�dOx��4��,���C,�u��L��L�$���� �Ƹ�i�WT`3�����:������i6��OtO����<]L��)��i�� ��9��S3B?��{C���i��z�Fr8!'��:!ol��~ ���R��&��w ��a4��N�����Gl4+�}�h�#p/��G��q��6WX�@��Q���ph�ȫ��[N��:F܄h@{oi� �Љ��P7�Z�����y�÷\�54��&�=E�^��%��̎�v�i�!Т(������|T�2]L��n���"�Qt��(V�w�.�|+�C���й3|��_�2x|pu��q���uu��Y߹�vj� ������i7u^��T��HB�τ�.v�D@ �y�,�&UȎL�:\ �<?�m�N0y��&��GL&G�wvE���D��Xb����.���D�"���$�2v��5�4�Do�<�Z�H�q�tAݾ���&��κ�2�t;2'ƞ&�Kү��*�!�G� ��m.��@[ ��Dz �O���Ӂ����� W} � d���>Ȝl�(}pa�s����u��p�<�=8d/���=*�/�E�ȁ�U�[��n7�?,�3~�v̇�ݏ���'yK <0C�Q�1ȷ5qKE�'z�I_Q�D���L!yܕ,rB��R%5��E��1�P�P�̮�`��E��o�˫�t������߲QX���79�K<b캞(r�p�t�mtйݿ�W��6�oIRT�?#=?h�=�}� �C�����7����jn�������{F��z����/�R��-үoI}�\H�0i��NU��9Y���<�:�҂��=�h�?��m�ˊ������!>���EV���c�Q6�Y��7 ���]O!��q�7�J�nW� ��_��,�<����2VR�l� �l���]�{�"]���k�D��9j�`���9���8#�+Yf$�d��I����*&�i*Q����˨��E�t�1È�* xquery.js 0000644 00000036613 15174662544 0006466 0 ustar 00 // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/5/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineMode("xquery", function() { // The keywords object is set to the result of this self executing // function. Each keyword is a property of the keywords object whose // value is {type: atype, style: astyle} var keywords = function(){ // convenience functions used to build keywords object function kw(type) {return {type: type, style: "keyword"};} var operator = kw("operator") , atom = {type: "atom", style: "atom"} , punctuation = {type: "punctuation", style: null} , qualifier = {type: "axis_specifier", style: "qualifier"}; // kwObj is what is return from this function at the end var kwObj = { ',': punctuation }; // a list of 'basic' keywords. For each add a property to kwObj with the value of // {type: basic[i], style: "keyword"} e.g. 'after' --> {type: "after", style: "keyword"} var basic = ['after', 'all', 'allowing', 'ancestor', 'ancestor-or-self', 'any', 'array', 'as', 'ascending', 'at', 'attribute', 'base-uri', 'before', 'boundary-space', 'by', 'case', 'cast', 'castable', 'catch', 'child', 'collation', 'comment', 'construction', 'contains', 'content', 'context', 'copy', 'copy-namespaces', 'count', 'decimal-format', 'declare', 'default', 'delete', 'descendant', 'descendant-or-self', 'descending', 'diacritics', 'different', 'distance', 'document', 'document-node', 'element', 'else', 'empty', 'empty-sequence', 'encoding', 'end', 'entire', 'every', 'exactly', 'except', 'external', 'first', 'following', 'following-sibling', 'for', 'from', 'ftand', 'ftnot', 'ft-option', 'ftor', 'function', 'fuzzy', 'greatest', 'group', 'if', 'import', 'in', 'inherit', 'insensitive', 'insert', 'instance', 'intersect', 'into', 'invoke', 'is', 'item', 'language', 'last', 'lax', 'least', 'let', 'levels', 'lowercase', 'map', 'modify', 'module', 'most', 'namespace', 'next', 'no', 'node', 'nodes', 'no-inherit', 'no-preserve', 'not', 'occurs', 'of', 'only', 'option', 'order', 'ordered', 'ordering', 'paragraph', 'paragraphs', 'parent', 'phrase', 'preceding', 'preceding-sibling', 'preserve', 'previous', 'processing-instruction', 'relationship', 'rename', 'replace', 'return', 'revalidation', 'same', 'satisfies', 'schema', 'schema-attribute', 'schema-element', 'score', 'self', 'sensitive', 'sentence', 'sentences', 'sequence', 'skip', 'sliding', 'some', 'stable', 'start', 'stemming', 'stop', 'strict', 'strip', 'switch', 'text', 'then', 'thesaurus', 'times', 'to', 'transform', 'treat', 'try', 'tumbling', 'type', 'typeswitch', 'union', 'unordered', 'update', 'updating', 'uppercase', 'using', 'validate', 'value', 'variable', 'version', 'weight', 'when', 'where', 'wildcards', 'window', 'with', 'without', 'word', 'words', 'xquery']; for(var i=0, l=basic.length; i < l; i++) { kwObj[basic[i]] = kw(basic[i]);}; // a list of types. For each add a property to kwObj with the value of // {type: "atom", style: "atom"} var types = ['xs:anyAtomicType', 'xs:anySimpleType', 'xs:anyType', 'xs:anyURI', 'xs:base64Binary', 'xs:boolean', 'xs:byte', 'xs:date', 'xs:dateTime', 'xs:dateTimeStamp', 'xs:dayTimeDuration', 'xs:decimal', 'xs:double', 'xs:duration', 'xs:ENTITIES', 'xs:ENTITY', 'xs:float', 'xs:gDay', 'xs:gMonth', 'xs:gMonthDay', 'xs:gYear', 'xs:gYearMonth', 'xs:hexBinary', 'xs:ID', 'xs:IDREF', 'xs:IDREFS', 'xs:int', 'xs:integer', 'xs:item', 'xs:java', 'xs:language', 'xs:long', 'xs:Name', 'xs:NCName', 'xs:negativeInteger', 'xs:NMTOKEN', 'xs:NMTOKENS', 'xs:nonNegativeInteger', 'xs:nonPositiveInteger', 'xs:normalizedString', 'xs:NOTATION', 'xs:numeric', 'xs:positiveInteger', 'xs:precisionDecimal', 'xs:QName', 'xs:short', 'xs:string', 'xs:time', 'xs:token', 'xs:unsignedByte', 'xs:unsignedInt', 'xs:unsignedLong', 'xs:unsignedShort', 'xs:untyped', 'xs:untypedAtomic', 'xs:yearMonthDuration']; for(var i=0, l=types.length; i < l; i++) { kwObj[types[i]] = atom;}; // each operator will add a property to kwObj with value of {type: "operator", style: "keyword"} var operators = ['eq', 'ne', 'lt', 'le', 'gt', 'ge', ':=', '=', '>', '>=', '<', '<=', '.', '|', '?', 'and', 'or', 'div', 'idiv', 'mod', '*', '/', '+', '-']; for(var i=0, l=operators.length; i < l; i++) { kwObj[operators[i]] = operator;}; // each axis_specifiers will add a property to kwObj with value of {type: "axis_specifier", style: "qualifier"} var axis_specifiers = ["self::", "attribute::", "child::", "descendant::", "descendant-or-self::", "parent::", "ancestor::", "ancestor-or-self::", "following::", "preceding::", "following-sibling::", "preceding-sibling::"]; for(var i=0, l=axis_specifiers.length; i < l; i++) { kwObj[axis_specifiers[i]] = qualifier; }; return kwObj; }(); function chain(stream, state, f) { state.tokenize = f; return f(stream, state); } // the primary mode tokenizer function tokenBase(stream, state) { var ch = stream.next(), mightBeFunction = false, isEQName = isEQNameAhead(stream); // an XML tag (if not in some sub, chained tokenizer) if (ch == "<") { if(stream.match("!--", true)) return chain(stream, state, tokenXMLComment); if(stream.match("![CDATA", false)) { state.tokenize = tokenCDATA; return "tag"; } if(stream.match("?", false)) { return chain(stream, state, tokenPreProcessing); } var isclose = stream.eat("/"); stream.eatSpace(); var tagName = "", c; while ((c = stream.eat(/[^\s\u00a0=<>\"\'\/?]/))) tagName += c; return chain(stream, state, tokenTag(tagName, isclose)); } // start code block else if(ch == "{") { pushStateStack(state, { type: "codeblock"}); return null; } // end code block else if(ch == "}") { popStateStack(state); return null; } // if we're in an XML block else if(isInXmlBlock(state)) { if(ch == ">") return "tag"; else if(ch == "/" && stream.eat(">")) { popStateStack(state); return "tag"; } else return "variable"; } // if a number else if (/\d/.test(ch)) { stream.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/); return "atom"; } // comment start else if (ch === "(" && stream.eat(":")) { pushStateStack(state, { type: "comment"}); return chain(stream, state, tokenComment); } // quoted string else if (!isEQName && (ch === '"' || ch === "'")) return chain(stream, state, tokenString(ch)); // variable else if(ch === "$") { return chain(stream, state, tokenVariable); } // assignment else if(ch ===":" && stream.eat("=")) { return "keyword"; } // open paren else if(ch === "(") { pushStateStack(state, { type: "paren"}); return null; } // close paren else if(ch === ")") { popStateStack(state); return null; } // open paren else if(ch === "[") { pushStateStack(state, { type: "bracket"}); return null; } // close paren else if(ch === "]") { popStateStack(state); return null; } else { var known = keywords.propertyIsEnumerable(ch) && keywords[ch]; // if there's a EQName ahead, consume the rest of the string portion, it's likely a function if(isEQName && ch === '\"') while(stream.next() !== '"'){} if(isEQName && ch === '\'') while(stream.next() !== '\''){} // gobble up a word if the character is not known if(!known) stream.eatWhile(/[\w\$_-]/); // gobble a colon in the case that is a lib func type call fn:doc var foundColon = stream.eat(":"); // if there's not a second colon, gobble another word. Otherwise, it's probably an axis specifier // which should get matched as a keyword if(!stream.eat(":") && foundColon) { stream.eatWhile(/[\w\$_-]/); } // if the next non whitespace character is an open paren, this is probably a function (if not a keyword of other sort) if(stream.match(/^[ \t]*\(/, false)) { mightBeFunction = true; } // is the word a keyword? var word = stream.current(); known = keywords.propertyIsEnumerable(word) && keywords[word]; // if we think it's a function call but not yet known, // set style to variable for now for lack of something better if(mightBeFunction && !known) known = {type: "function_call", style: "variable def"}; // if the previous word was element, attribute, axis specifier, this word should be the name of that if(isInXmlConstructor(state)) { popStateStack(state); return "variable"; } // as previously checked, if the word is element,attribute, axis specifier, call it an "xmlconstructor" and // push the stack so we know to look for it on the next word if(word == "element" || word == "attribute" || known.type == "axis_specifier") pushStateStack(state, {type: "xmlconstructor"}); // if the word is known, return the details of that else just call this a generic 'word' return known ? known.style : "variable"; } } // handle comments, including nested function tokenComment(stream, state) { var maybeEnd = false, maybeNested = false, nestedCount = 0, ch; while (ch = stream.next()) { if (ch == ")" && maybeEnd) { if(nestedCount > 0) nestedCount--; else { popStateStack(state); break; } } else if(ch == ":" && maybeNested) { nestedCount++; } maybeEnd = (ch == ":"); maybeNested = (ch == "("); } return "comment"; } // tokenizer for string literals // optionally pass a tokenizer function to set state.tokenize back to when finished function tokenString(quote, f) { return function(stream, state) { var ch; if(isInString(state) && stream.current() == quote) { popStateStack(state); if(f) state.tokenize = f; return "string"; } pushStateStack(state, { type: "string", name: quote, tokenize: tokenString(quote, f) }); // if we're in a string and in an XML block, allow an embedded code block if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } while (ch = stream.next()) { if (ch == quote) { popStateStack(state); if(f) state.tokenize = f; break; } else { // if we're in a string and in an XML block, allow an embedded code block in an attribute if(stream.match("{", false) && isInXmlAttributeBlock(state)) { state.tokenize = tokenBase; return "string"; } } } return "string"; }; } // tokenizer for variables function tokenVariable(stream, state) { var isVariableChar = /[\w\$_-]/; // a variable may start with a quoted EQName so if the next character is quote, consume to the next quote if(stream.eat("\"")) { while(stream.next() !== '\"'){}; stream.eat(":"); } else { stream.eatWhile(isVariableChar); if(!stream.match(":=", false)) stream.eat(":"); } stream.eatWhile(isVariableChar); state.tokenize = tokenBase; return "variable"; } // tokenizer for XML tags function tokenTag(name, isclose) { return function(stream, state) { stream.eatSpace(); if(isclose && stream.eat(">")) { popStateStack(state); state.tokenize = tokenBase; return "tag"; } // self closing tag without attributes? if(!stream.eat("/")) pushStateStack(state, { type: "tag", name: name, tokenize: tokenBase}); if(!stream.eat(">")) { state.tokenize = tokenAttribute; return "tag"; } else { state.tokenize = tokenBase; } return "tag"; }; } // tokenizer for XML attributes function tokenAttribute(stream, state) { var ch = stream.next(); if(ch == "/" && stream.eat(">")) { if(isInXmlAttributeBlock(state)) popStateStack(state); if(isInXmlBlock(state)) popStateStack(state); return "tag"; } if(ch == ">") { if(isInXmlAttributeBlock(state)) popStateStack(state); return "tag"; } if(ch == "=") return null; // quoted string if (ch == '"' || ch == "'") return chain(stream, state, tokenString(ch, tokenAttribute)); if(!isInXmlAttributeBlock(state)) pushStateStack(state, { type: "attribute", tokenize: tokenAttribute}); stream.eat(/[a-zA-Z_:]/); stream.eatWhile(/[-a-zA-Z0-9_:.]/); stream.eatSpace(); // the case where the attribute has not value and the tag was closed if(stream.match(">", false) || stream.match("/", false)) { popStateStack(state); state.tokenize = tokenBase; } return "attribute"; } // handle comments, including nested function tokenXMLComment(stream, state) { var ch; while (ch = stream.next()) { if (ch == "-" && stream.match("->", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle CDATA function tokenCDATA(stream, state) { var ch; while (ch = stream.next()) { if (ch == "]" && stream.match("]", true)) { state.tokenize = tokenBase; return "comment"; } } } // handle preprocessing instructions function tokenPreProcessing(stream, state) { var ch; while (ch = stream.next()) { if (ch == "?" && stream.match(">", true)) { state.tokenize = tokenBase; return "comment meta"; } } } // functions to test the current context of the state function isInXmlBlock(state) { return isIn(state, "tag"); } function isInXmlAttributeBlock(state) { return isIn(state, "attribute"); } function isInXmlConstructor(state) { return isIn(state, "xmlconstructor"); } function isInString(state) { return isIn(state, "string"); } function isEQNameAhead(stream) { // assume we've already eaten a quote (") if(stream.current() === '"') return stream.match(/^[^\"]+\"\:/, false); else if(stream.current() === '\'') return stream.match(/^[^\"]+\'\:/, false); else return false; } function isIn(state, type) { return (state.stack.length && state.stack[state.stack.length - 1].type == type); } function pushStateStack(state, newState) { state.stack.push(newState); } function popStateStack(state) { state.stack.pop(); var reinstateTokenize = state.stack.length && state.stack[state.stack.length-1].tokenize; state.tokenize = reinstateTokenize || tokenBase; } // the interface for the mode API return { startState: function() { return { tokenize: tokenBase, cc: [], stack: [] }; }, token: function(stream, state) { if (stream.eatSpace()) return null; var style = state.tokenize(stream, state); return style; }, blockCommentStart: "(:", blockCommentEnd: ":)" }; }); CodeMirror.defineMIME("application/xquery", "xquery"); }); xquery.min.js 0000644 00000015452 15174662544 0007246 0 ustar 00 (function(d){typeof exports=="object"&&typeof module=="object"?d(require("../../lib/codemirror")):typeof define=="function"&&define.amd?define(["../../lib/codemirror"],d):d(CodeMirror)})(function(d){"use strict";d.defineMode("xquery",function(){var h=function(){function e(M){return{type:M,style:"keyword"}}for(var n=e("operator"),i={type:"atom",style:"atom"},t={type:"punctuation",style:null},u={type:"axis_specifier",style:"qualifier"},l={",":t},x=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],r=0,o=x.length;r<o;r++)l[x[r]]=e(x[r]);for(var k=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"],r=0,o=k.length;r<o;r++)l[k[r]]=i;for(var p=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"],r=0,o=p.length;r<o;r++)l[p[r]]=n;for(var z=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"],r=0,o=z.length;r<o;r++)l[z[r]]=u;return l}();function f(e,n,i){return n.tokenize=i,i(e,n)}function c(e,n){var i=e.next(),t=!1,u=D(e);if(i=="<"){if(e.match("!--",!0))return f(e,n,T);if(e.match("![CDATA",!1))return n.tokenize=E,"tag";if(e.match("?",!1))return f(e,n,N);var l=e.eat("/");e.eatSpace();for(var x="",r;r=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)x+=r;return f(e,n,S(x,l))}else{if(i=="{")return s(n,{type:"codeblock"}),null;if(i=="}")return a(n),null;if(b(n))return i==">"?"tag":i=="/"&&e.eat(">")?(a(n),"tag"):"variable";if(/\d/.test(i))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if(i==="("&&e.eat(":"))return s(n,{type:"comment"}),f(e,n,w);if(!u&&(i==='"'||i==="'"))return f(e,n,v(i));if(i==="$")return f(e,n,I);if(i===":"&&e.eat("="))return"keyword";if(i==="(")return s(n,{type:"paren"}),null;if(i===")")return a(n),null;if(i==="[")return s(n,{type:"bracket"}),null;if(i==="]")return a(n),null;var o=h.propertyIsEnumerable(i)&&h[i];if(u&&i==='"')for(;e.next()!=='"';);if(u&&i==="'")for(;e.next()!=="'";);o||e.eatWhile(/[\w\$_-]/);var k=e.eat(":");!e.eat(":")&&k&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(t=!0);var p=e.current();return o=h.propertyIsEnumerable(p)&&h[p],t&&!o&&(o={type:"function_call",style:"variable def"}),A(n)?(a(n),"variable"):((p=="element"||p=="attribute"||o.type=="axis_specifier")&&s(n,{type:"xmlconstructor"}),o?o.style:"variable")}}function w(e,n){for(var i=!1,t=!1,u=0,l;l=e.next();){if(l==")"&&i)if(u>0)u--;else{a(n);break}else l==":"&&t&&u++;i=l==":",t=l=="("}return"comment"}function v(e,n){return function(i,t){var u;if(C(t)&&i.current()==e)return a(t),n&&(t.tokenize=n),"string";if(s(t,{type:"string",name:e,tokenize:v(e,n)}),i.match("{",!1)&&g(t))return t.tokenize=c,"string";for(;u=i.next();)if(u==e){a(t),n&&(t.tokenize=n);break}else if(i.match("{",!1)&&g(t))return t.tokenize=c,"string";return"string"}}function I(e,n){var i=/[\w\$_-]/;if(e.eat('"')){for(;e.next()!=='"';);e.eat(":")}else e.eatWhile(i),e.match(":=",!1)||e.eat(":");return e.eatWhile(i),n.tokenize=c,"variable"}function S(e,n){return function(i,t){if(i.eatSpace(),n&&i.eat(">"))return a(t),t.tokenize=c,"tag";if(i.eat("/")||s(t,{type:"tag",name:e,tokenize:c}),i.eat(">"))t.tokenize=c;else return t.tokenize=m,"tag";return"tag"}}function m(e,n){var i=e.next();return i=="/"&&e.eat(">")?(g(n)&&a(n),b(n)&&a(n),"tag"):i==">"?(g(n)&&a(n),"tag"):i=="="?null:i=='"'||i=="'"?f(e,n,v(i,m)):(g(n)||s(n,{type:"attribute",tokenize:m}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(a(n),n.tokenize=c),"attribute")}function T(e,n){for(var i;i=e.next();)if(i=="-"&&e.match("->",!0))return n.tokenize=c,"comment"}function E(e,n){for(var i;i=e.next();)if(i=="]"&&e.match("]",!0))return n.tokenize=c,"comment"}function N(e,n){for(var i;i=e.next();)if(i=="?"&&e.match(">",!0))return n.tokenize=c,"comment meta"}function b(e){return y(e,"tag")}function g(e){return y(e,"attribute")}function A(e){return y(e,"xmlconstructor")}function C(e){return y(e,"string")}function D(e){return e.current()==='"'?e.match(/^[^\"]+\"\:/,!1):e.current()==="'"?e.match(/^[^\"]+\'\:/,!1):!1}function y(e,n){return e.stack.length&&e.stack[e.stack.length-1].type==n}function s(e,n){e.stack.push(n)}function a(e){e.stack.pop();var n=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=n||c}return{startState:function(){return{tokenize:c,cc:[],stack:[]}},token:function(e,n){if(e.eatSpace())return null;var i=n.tokenize(e,n);return i},blockCommentStart:"(:",blockCommentEnd:":)"}}),d.defineMIME("application/xquery","xquery")});
| ver. 1.4 |
Github
|
.
| PHP 8.3.23 | Generation time: 0 |
proxy
|
phpinfo
|
Settings