%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home1/lightco1/public_html/html/upgrade/media/editors/codemirror/mode/crystal/
Upload File :
Create Path :
Current File : //home1/lightco1/public_html/html/upgrade/media/editors/codemirror/mode/crystal/crystal.min.js

!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(o))return a.eat(/[?!]/),d=a.current(),a.eat(":")?"atom":"."==b.lastToken?"property":q.test(d)?("abstract"!=b.lastToken&&t.test(d)?"fun"==d&&b.blocks.indexOf("lib")>=0||(b.blocks.push(d),b.currentIndent+=1):v.test(d)&&(b.blocks.pop(),b.currentIndent-=1),y.hasOwnProperty(d)&&b.tokenize.push(y[d]),"keyword"):r.test(d)?"atom":"variable";if(a.eat("@"))return"["==a.peek()?c(e("[","]","meta"),a,b):(a.eat("@"),a.match(o)||a.match(p),"variable-2");if(a.eat("$"))return a.eat(/[0-9]+|\?/)||a.match(o)||a.match(p),"variable-3";if(a.match(p))return"tag";if(a.eat(":"))return a.eat('"')?c(j('"',"atom",!1),a,b):a.match(o)||a.match(p)||a.match(k)||a.match(l)||a.match(m)?"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(!(g=a.match(/^%([^\w\s=])/)))return a.match(/^%[a-zA-Z0-9_\u009F-\uFFFF]*/)?"meta":"operator";g=g[1]}return z.hasOwnProperty(g)&&(g=z[g]),c(j(g,h,i),a,b)}return 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(k)?(a.eat("="),"operator"):a.match(l)||a.match(n)?"operator":(d=a.match(/[({[]/,!1))?(d=d[0],c(e(d,z[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(o)){if("def"==c)return"keyword";a.eat(/[?!]/)}return b.tokenize.pop(),"def"}function h(a,b){return a.eatSpace()?null:(a.match(o)?a.eat(/[!?]/):a.match(k)||a.match(l)||a.match(m),b.tokenize.pop(),"def")}function i(a,b){return a.eatSpace()?null:(a.match(p),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="\\"==i}return b}}var k=/^(?:[-+\/%|&^]|\*\*?|[<>]{2})/,l=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,m=/^(?:\[\][?=]?)/,n=/^(?:\.(?:\.{2})?|->|[?:])/,o=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,p=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,q=b(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","ifdef","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","sizeof","struct","super","then","type","typeof","union","unless","until","when","while","with","yield","__DIR__","__FILE__","__LINE__"]),r=b(["true","false","nil","self"]),s=["def","fun","macro","class","module","struct","lib","enum","union","if","unless","case","while","until","begin","then","do","for","ifdef"],t=b(s),u=["end","else","elsif","rescue","ensure"],v=b(u),w=["\\)","\\}","\\]"],x=new RegExp("^(?:"+w.join("|")+")$"),y={def:h,fun:h,macro:g,"class":i,module:i,struct:i,lib:i,"enum":i,union:i},z={"[":"]","{":"}","(":")","<":">"};return{startState:function(){return{tokenize:[d],currentIndent:0,lastToken: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),c},indent:function(b,c){return c=c.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),v.test(c)||x.test(c)?a.indentUnit*(b.currentIndent-1):a.indentUnit*b.currentIndent},fold:"indent",electricInput:b(w.concat(u),!0),lineComment:"#"}}),a.defineMIME("text/x-crystal","crystal")});

Zerion Mini Shell 1.0