Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/crystal.zip
Назад
PK ��!]SyM� � crystal.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";a.defineMode("crystal",(function(a){function b(a,b){return new RegExp((b?"":"^")+"(?:"+a.join("|")+")"+(b?"$":"\\b"))}function c(a,b,c){return c.tokenize.push(a),a(b,c)}function d(a,b){if(a.eatSpace())return null;if("\\"!=b.lastToken&&a.match("{%",!1))return c(f("%","%"),a,b);if("\\"!=b.lastToken&&a.match("{{",!1))return c(f("{","}"),a,b);if("#"==a.peek())return a.skipToEnd(),"comment";var d;if(a.match(p))return a.eat(/[?!]/),d=a.current(),a.eat(":")?"atom":"."==b.lastToken?"property":r.test(d)?(u.test(d)?"fun"==d&&b.blocks.indexOf("lib")>=0||"def"==d&&"abstract"==b.lastToken||(b.blocks.push(d),b.currentIndent+=1):"operator"!=b.lastStyle&&b.lastStyle||!w.test(d)?"end"==d&&(b.blocks.pop(),b.currentIndent-=1):(b.blocks.push(d),b.currentIndent+=1),B.hasOwnProperty(d)&&b.tokenize.push(B[d]),"keyword"):s.test(d)?"atom":"variable";if(a.eat("@"))return"["==a.peek()?c(e("[","]","meta"),a,b):(a.eat("@"),a.match(p)||a.match(q),"variable-2");if(a.match(q))return"tag";if(a.eat(":"))return a.eat('"')?c(j('"',"atom",!1),a,b):a.match(p)||a.match(q)||a.match(l)||a.match(m)||a.match(n)?"atom":(a.eat(":"),"operator");if(a.eat('"'))return c(j('"',"string",!0),a,b);if("%"==a.peek()){var g,h="string",i=!0;if(a.match("%r"))h="string-2",g=a.next();else if(a.match("%w"))i=!1,g=a.next();else if(a.match("%q"))i=!1,g=a.next();else{if(!(g=a.match(/^%([^\w\s=])/)))return a.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)?"meta":"operator";g=g[1]}return C.hasOwnProperty(g)&&(g=C[g]),c(j(g,h,i),a,b)}return(d=a.match(/^<<-('?)([A-Z]\w*)\1/))?c(k(d[2],!d[1]),a,b):a.eat("'")?(a.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),a.eat("'"),"atom"):a.eat("0")?(a.eat("x")?a.match(/^[0-9a-fA-F_]+/):a.eat("o")?a.match(/^[0-7_]+/):a.eat("b")&&a.match(/^[01_]+/),"number"):a.eat(/^\d/)?(a.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):a.match(l)?(a.eat("="),"operator"):a.match(m)||a.match(o)?"operator":(d=a.match(/[({[]/,!1))?(d=d[0],c(e(d,C[d],null),a,b)):a.eat("\\")?(a.next(),"meta"):(a.next(),null)}function e(a,b,c,f){return function(g,h){if(!f&&g.match(a))return h.tokenize[h.tokenize.length-1]=e(a,b,c,!0),h.currentIndent+=1,c;var i=d(g,h);return g.current()===b&&(h.tokenize.pop(),h.currentIndent-=1,i=c),i}}function f(a,b,c){return function(e,g){return!c&&e.match("{"+a)?(g.currentIndent+=1,g.tokenize[g.tokenize.length-1]=f(a,b,!0),"meta"):e.match(b+"}")?(g.currentIndent-=1,g.tokenize.pop(),"meta"):d(e,g)}}function g(a,b){if(a.eatSpace())return null;var c;if(c=a.match(p)){if("def"==c)return"keyword";a.eat(/[?!]/)}return b.tokenize.pop(),"def"}function h(a,b){return a.eatSpace()?null:(a.match(p)?a.eat(/[!?]/):a.match(l)||a.match(m)||a.match(n),b.tokenize.pop(),"def")}function i(a,b){return a.eatSpace()?null:(a.match(q),b.tokenize.pop(),"def")}function j(a,b,c){return function(d,g){for(var h=!1;d.peek();)if(h)d.next(),h=!1;else{if(d.match("{%",!1))return g.tokenize.push(f("%","%")),b;if(d.match("{{",!1))return g.tokenize.push(f("{","}")),b;if(c&&d.match("#{",!1))return g.tokenize.push(e("#{","}","meta")),b;var i=d.next();if(i==a)return g.tokenize.pop(),b;h=c&&"\\"==i}return b}}function k(a,b){return function(c,d){if(c.sol()&&(c.eatSpace(),c.match(a)))return d.tokenize.pop(),"string";for(var g=!1;c.peek();)if(g)c.next(),g=!1;else{if(c.match("{%",!1))return d.tokenize.push(f("%","%")),"string";if(c.match("{{",!1))return d.tokenize.push(f("{","}")),"string";if(b&&c.match("#{",!1))return d.tokenize.push(e("#{","}","meta")),"string";g=b&&"\\"==c.next()}return"string"}}var l=/^(?:[-+\/%|&^]|\*\*?|[<>]{2})/,m=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,n=/^(?:\[\][?=]?)/,o=/^(?:\.(?:\.{2})?|->|[?:])/,p=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,q=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,r=b(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),s=b(["true","false","nil","self"]),t=["def","fun","macro","class","module","struct","lib","enum","union","do","for"],u=b(t),v=["if","unless","case","while","until","begin","then"],w=b(v),x=["end","else","elsif","rescue","ensure"],y=b(x),z=["\\)","\\}","\\]"],A=new RegExp("^(?:"+z.join("|")+")$"),B={def:h,fun:h,macro:g,class:i,module:i,struct:i,lib:i,enum:i,union:i},C={"[":"]","{":"}","(":")","<":">"};return{startState:function(){return{tokenize:[d],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(a,b){var c=b.tokenize[b.tokenize.length-1](a,b),d=a.current();return c&&"comment"!=c&&(b.lastToken=d,b.lastStyle=c),c},indent:function(b,c){return c=c.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),y.test(c)||A.test(c)?a.indentUnit*(b.currentIndent-1):a.indentUnit*b.currentIndent},fold:"indent",electricInput:b(z.concat(x),!0),lineComment:"#"}})),a.defineMIME("text/x-crystal","crystal")}));PK ��!]Q�9\2 2 crystal.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/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("crystal", function(config) { function wordRegExp(words, end) { return new RegExp((end ? "" : "^") + "(?:" + words.join("|") + ")" + (end ? "$" : "\\b")); } function chain(tokenize, stream, state) { state.tokenize.push(tokenize); return tokenize(stream, state); } var operators = /^(?:[-+/%|&^]|\*\*?|[<>]{2})/; var conditionalOperators = /^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/; var indexingOperators = /^(?:\[\][?=]?)/; var anotherOperators = /^(?:\.(?:\.{2})?|->|[?:])/; var idents = /^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/; var types = /^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/; var keywords = wordRegExp([ "abstract", "alias", "as", "asm", "begin", "break", "case", "class", "def", "do", "else", "elsif", "end", "ensure", "enum", "extend", "for", "fun", "if", "include", "instance_sizeof", "lib", "macro", "module", "next", "of", "out", "pointerof", "private", "protected", "rescue", "return", "require", "select", "sizeof", "struct", "super", "then", "type", "typeof", "uninitialized", "union", "unless", "until", "when", "while", "with", "yield", "__DIR__", "__END_LINE__", "__FILE__", "__LINE__" ]); var atomWords = wordRegExp(["true", "false", "nil", "self"]); var indentKeywordsArray = [ "def", "fun", "macro", "class", "module", "struct", "lib", "enum", "union", "do", "for" ]; var indentKeywords = wordRegExp(indentKeywordsArray); var indentExpressionKeywordsArray = ["if", "unless", "case", "while", "until", "begin", "then"]; var indentExpressionKeywords = wordRegExp(indentExpressionKeywordsArray); var dedentKeywordsArray = ["end", "else", "elsif", "rescue", "ensure"]; var dedentKeywords = wordRegExp(dedentKeywordsArray); var dedentPunctualsArray = ["\\)", "\\}", "\\]"]; var dedentPunctuals = new RegExp("^(?:" + dedentPunctualsArray.join("|") + ")$"); var nextTokenizer = { "def": tokenFollowIdent, "fun": tokenFollowIdent, "macro": tokenMacroDef, "class": tokenFollowType, "module": tokenFollowType, "struct": tokenFollowType, "lib": tokenFollowType, "enum": tokenFollowType, "union": tokenFollowType }; var matching = {"[": "]", "{": "}", "(": ")", "<": ">"}; function tokenBase(stream, state) { if (stream.eatSpace()) { return null; } // Macros if (state.lastToken != "\\" && stream.match("{%", false)) { return chain(tokenMacro("%", "%"), stream, state); } if (state.lastToken != "\\" && stream.match("{{", false)) { return chain(tokenMacro("{", "}"), stream, state); } // Comments if (stream.peek() == "#") { stream.skipToEnd(); return "comment"; } // Variables and keywords var matched; if (stream.match(idents)) { stream.eat(/[?!]/); matched = stream.current(); if (stream.eat(":")) { return "atom"; } else if (state.lastToken == ".") { return "property"; } else if (keywords.test(matched)) { if (indentKeywords.test(matched)) { if (!(matched == "fun" && state.blocks.indexOf("lib") >= 0) && !(matched == "def" && state.lastToken == "abstract")) { state.blocks.push(matched); state.currentIndent += 1; } } else if ((state.lastStyle == "operator" || !state.lastStyle) && indentExpressionKeywords.test(matched)) { state.blocks.push(matched); state.currentIndent += 1; } else if (matched == "end") { state.blocks.pop(); state.currentIndent -= 1; } if (nextTokenizer.hasOwnProperty(matched)) { state.tokenize.push(nextTokenizer[matched]); } return "keyword"; } else if (atomWords.test(matched)) { return "atom"; } return "variable"; } // Class variables and instance variables // or attributes if (stream.eat("@")) { if (stream.peek() == "[") { return chain(tokenNest("[", "]", "meta"), stream, state); } stream.eat("@"); stream.match(idents) || stream.match(types); return "variable-2"; } // Constants and types if (stream.match(types)) { return "tag"; } // Symbols or ':' operator if (stream.eat(":")) { if (stream.eat("\"")) { return chain(tokenQuote("\"", "atom", false), stream, state); } else if (stream.match(idents) || stream.match(types) || stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators)) { return "atom"; } stream.eat(":"); return "operator"; } // Strings if (stream.eat("\"")) { return chain(tokenQuote("\"", "string", true), stream, state); } // Strings or regexps or macro variables or '%' operator if (stream.peek() == "%") { var style = "string"; var embed = true; var delim; if (stream.match("%r")) { // Regexps style = "string-2"; delim = stream.next(); } else if (stream.match("%w")) { embed = false; delim = stream.next(); } else if (stream.match("%q")) { embed = false; delim = stream.next(); } else { if(delim = stream.match(/^%([^\w\s=])/)) { delim = delim[1]; } else if (stream.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)) { // Macro variables return "meta"; } else { // '%' operator return "operator"; } } if (matching.hasOwnProperty(delim)) { delim = matching[delim]; } return chain(tokenQuote(delim, style, embed), stream, state); } // Here Docs if (matched = stream.match(/^<<-('?)([A-Z]\w*)\1/)) { return chain(tokenHereDoc(matched[2], !matched[1]), stream, state) } // Characters if (stream.eat("'")) { stream.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/); stream.eat("'"); return "atom"; } // Numbers if (stream.eat("0")) { if (stream.eat("x")) { stream.match(/^[0-9a-fA-F_]+/); } else if (stream.eat("o")) { stream.match(/^[0-7_]+/); } else if (stream.eat("b")) { stream.match(/^[01_]+/); } return "number"; } if (stream.eat(/^\d/)) { stream.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/); return "number"; } // Operators if (stream.match(operators)) { stream.eat("="); // Operators can follow assign symbol. return "operator"; } if (stream.match(conditionalOperators) || stream.match(anotherOperators)) { return "operator"; } // Parens and braces if (matched = stream.match(/[({[]/, false)) { matched = matched[0]; return chain(tokenNest(matched, matching[matched], null), stream, state); } // Escapes if (stream.eat("\\")) { stream.next(); return "meta"; } stream.next(); return null; } function tokenNest(begin, end, style, started) { return function (stream, state) { if (!started && stream.match(begin)) { state.tokenize[state.tokenize.length - 1] = tokenNest(begin, end, style, true); state.currentIndent += 1; return style; } var nextStyle = tokenBase(stream, state); if (stream.current() === end) { state.tokenize.pop(); state.currentIndent -= 1; nextStyle = style; } return nextStyle; }; } function tokenMacro(begin, end, started) { return function (stream, state) { if (!started && stream.match("{" + begin)) { state.currentIndent += 1; state.tokenize[state.tokenize.length - 1] = tokenMacro(begin, end, true); return "meta"; } if (stream.match(end + "}")) { state.currentIndent -= 1; state.tokenize.pop(); return "meta"; } return tokenBase(stream, state); }; } function tokenMacroDef(stream, state) { if (stream.eatSpace()) { return null; } var matched; if (matched = stream.match(idents)) { if (matched == "def") { return "keyword"; } stream.eat(/[?!]/); } state.tokenize.pop(); return "def"; } function tokenFollowIdent(stream, state) { if (stream.eatSpace()) { return null; } if (stream.match(idents)) { stream.eat(/[!?]/); } else { stream.match(operators) || stream.match(conditionalOperators) || stream.match(indexingOperators); } state.tokenize.pop(); return "def"; } function tokenFollowType(stream, state) { if (stream.eatSpace()) { return null; } stream.match(types); state.tokenize.pop(); return "def"; } function tokenQuote(end, style, embed) { return function (stream, state) { var escaped = false; while (stream.peek()) { if (!escaped) { if (stream.match("{%", false)) { state.tokenize.push(tokenMacro("%", "%")); return style; } if (stream.match("{{", false)) { state.tokenize.push(tokenMacro("{", "}")); return style; } if (embed && stream.match("#{", false)) { state.tokenize.push(tokenNest("#{", "}", "meta")); return style; } var ch = stream.next(); if (ch == end) { state.tokenize.pop(); return style; } escaped = embed && ch == "\\"; } else { stream.next(); escaped = false; } } return style; }; } function tokenHereDoc(phrase, embed) { return function (stream, state) { if (stream.sol()) { stream.eatSpace() if (stream.match(phrase)) { state.tokenize.pop(); return "string"; } } var escaped = false; while (stream.peek()) { if (!escaped) { if (stream.match("{%", false)) { state.tokenize.push(tokenMacro("%", "%")); return "string"; } if (stream.match("{{", false)) { state.tokenize.push(tokenMacro("{", "}")); return "string"; } if (embed && stream.match("#{", false)) { state.tokenize.push(tokenNest("#{", "}", "meta")); return "string"; } escaped = embed && stream.next() == "\\"; } else { stream.next(); escaped = false; } } return "string"; } } return { startState: function () { return { tokenize: [tokenBase], currentIndent: 0, lastToken: null, lastStyle: null, blocks: [] }; }, token: function (stream, state) { var style = state.tokenize[state.tokenize.length - 1](stream, state); var token = stream.current(); if (style && style != "comment") { state.lastToken = token; state.lastStyle = style; } return style; }, indent: function (state, textAfter) { textAfter = textAfter.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g, ""); if (dedentKeywords.test(textAfter) || dedentPunctuals.test(textAfter)) { return config.indentUnit * (state.currentIndent - 1); } return config.indentUnit * state.currentIndent; }, fold: "indent", electricInput: wordRegExp(dedentPunctualsArray.concat(dedentKeywordsArray), true), lineComment: '#' }; }); CodeMirror.defineMIME("text/x-crystal", "crystal"); }); PK ��!]SyM� � crystal.min.jsnu &1i� PK ��!]Q�9\2 2 crystal.jsnu &1i� PK � jG
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка