%PDF- %PDF-
| Direktori : /proc/self/root/data/old/home/stash/atlassian-stash/static/bower/CodeMirror/mode/ruby/ |
| Current File : //proc/self/root/data/old/home/stash/atlassian-stash/static/bower/CodeMirror/mode/ruby/ruby-min.js |
CodeMirror.defineMode("ruby",function(E){function A(R){var Q={};for(var O=0,P=R.length;O<P;++O){Q[R[O]]=true}return Q}var J=A(["alias","and","BEGIN","begin","break","case","class","def","defined?","do","else","elsif","END","end","ensure","false","for","if","in","module","next","not","or","redo","rescue","retry","return","self","super","then","true","undef","unless","until","when","while","yield","nil","raise","throw","catch","fail","loop","callcc","caller","lambda","proc","public","protected","private","require","load","require_relative","extend","autoload","__END__","__FILE__","__LINE__","__dir__"]);var I=A(["def","class","case","for","while","module","then","catch","loop","proc","begin"]);var D=A(["end","until"]);var C={"[":"]","{":"}","(":")"};var L;function B(O,Q,P){P.tokenize.push(O);return O(Q,P)}function F(T,R){L=null;if(T.sol()&&T.match("=begin")&&T.eol()){R.tokenize.push(K);return"comment"}if(T.eatSpace()){return null}var Q=T.next(),O;if(Q=="`"||Q=="'"||Q=='"'){return B(M(Q,"string",Q=='"'||Q=="`"),T,R)}else{if(Q=="/"&&!T.eol()&&T.peek()!=" "){if(T.eat("=")){return"operator"}return B(M(Q,"string-2",true),T,R)}else{if(Q=="%"){var P="string",U=true;if(T.eat("s")){P="atom"}else{if(T.eat(/[WQ]/)){P="string"}else{if(T.eat(/[r]/)){P="string-2"}else{if(T.eat(/[wxq]/)){P="string";U=false}}}}var S=T.eat(/[^\w\s]/);if(!S){return"operator"}if(C.propertyIsEnumerable(S)){S=C[S]}return B(M(S,P,U,true),T,R)}else{if(Q=="#"){T.skipToEnd();return"comment"}else{if(Q=="<"&&(O=T.match(/^<-?[\`\"\']?([a-zA-Z_?]\w*)[\`\"\']?(?:;|$)/))){return B(H(O[1]),T,R)}else{if(Q=="0"){if(T.eat("x")){T.eatWhile(/[\da-fA-F]/)}else{if(T.eat("b")){T.eatWhile(/[01]/)}else{T.eatWhile(/[0-7]/)}}return"number"}else{if(/\d/.test(Q)){T.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+\-]?[\d_]+)?/);return"number"}else{if(Q=="?"){while(T.match(/^\\[CM]-/)){}if(T.eat("\\")){T.eatWhile(/\w/)}else{T.next()}return"string"}else{if(Q==":"){if(T.eat("'")){return B(M("'","atom",false),T,R)}if(T.eat('"')){return B(M('"',"atom",true),T,R)}if(T.eat(/[\<\>]/)){T.eat(/[\<\>]/);return"atom"}if(T.eat(/[\+\-\*\/\&\|\:\!]/)){return"atom"}if(T.eat(/[a-zA-Z$@_]/)){T.eatWhile(/[\w]/);T.eat(/[\?\!\=]/);return"atom"}return"operator"}else{if(Q=="@"&&T.match(/^@?[a-zA-Z_]/)){T.eat("@");T.eatWhile(/[\w]/);return"variable-2"}else{if(Q=="$"){if(T.eat(/[a-zA-Z_]/)){T.eatWhile(/[\w]/)}else{if(T.eat(/\d/)){T.eat(/\d/)}else{T.next()}}return"variable-3"}else{if(/[a-zA-Z_]/.test(Q)){T.eatWhile(/[\w]/);T.eat(/[\?\!]/);if(T.eat(":")){return"atom"}return"ident"}else{if(Q=="|"&&(R.varList||R.lastTok=="{"||R.lastTok=="do")){L="|";return null}else{if(/[\(\)\[\]{}\\;]/.test(Q)){L=Q;return null}else{if(Q=="-"&&T.eat(">")){return"arrow"}else{if(/[=+\-\/*:\.^%<>~|]/.test(Q)){T.eatWhile(/[=+\-\/*:\.^%<>~|]/);return"operator"}else{return null}}}}}}}}}}}}}}}}}function N(){var O=1;return function(Q,P){if(Q.peek()=="}"){O--;if(O==0){P.tokenize.pop();return P.tokenize[P.tokenize.length-1](Q,P)}}else{if(Q.peek()=="{"){O++}}return F(Q,P)}}function G(){var O=false;return function(Q,P){if(O){P.tokenize.pop();return P.tokenize[P.tokenize.length-1](Q,P)}O=true;return F(Q,P)}}function M(O,P,R,Q){return function(V,T){var U=false,S;if(T.context.type==="read-quoted-paused"){T.context=T.context.prev;V.eat("}")}while((S=V.next())!=null){if(S==O&&(Q||!U)){T.tokenize.pop();break}if(R&&S=="#"&&!U){if(V.eat("{")){if(O=="}"){T.context={prev:T.context,type:"read-quoted-paused"}}T.tokenize.push(N());break}else{if(/[@\$]/.test(V.peek())){T.tokenize.push(G());break}}}U=!U&&S=="\\"}return P}}function H(O){return function(Q,P){if(Q.match(O)){P.tokenize.pop()}else{Q.skipToEnd()}return"string"}}function K(P,O){if(P.sol()&&P.match("=end")&&P.eol()){O.tokenize.pop()}P.skipToEnd();return"comment"}return{startState:function(){return{tokenize:[F],indented:0,context:{type:"top",indented:-E.indentUnit},continuedLine:false,lastTok:null,varList:false}},token:function(S,P){if(S.sol()){P.indented=S.indentation()}var O=P.tokenize[P.tokenize.length-1](S,P),R;if(O=="ident"){var Q=S.current();O=J.propertyIsEnumerable(S.current())?"keyword":/^[A-Z]/.test(Q)?"tag":(P.lastTok=="def"||P.lastTok=="class"||P.varList)?"def":"variable";if(I.propertyIsEnumerable(Q)){R="indent"}else{if(D.propertyIsEnumerable(Q)){R="dedent"}else{if((Q=="if"||Q=="unless")&&S.column()==S.indentation()){R="indent"}else{if(Q=="do"&&P.context.indented<P.indented){R="indent"}}}}}if(L||(O&&O!="comment")){P.lastTok=Q||L||O}if(L=="|"){P.varList=!P.varList}if(R=="indent"||/[\(\[\{]/.test(L)){P.context={prev:P.context,type:L||O,indented:P.indented}}else{if((R=="dedent"||/[\)\]\}]/.test(L))&&P.context.prev){P.context=P.context.prev}}if(S.eol()){P.continuedLine=(L=="\\"||O=="operator")}return O},indent:function(S,O){if(S.tokenize[S.tokenize.length-1]!=F){return 0}var R=O&&O.charAt(0);var Q=S.context;var P=Q.type==C[R]||Q.type=="keyword"&&/^(?:end|until|else|elsif|when|rescue)\b/.test(O);return Q.indented+(P?0:E.indentUnit)+(S.continuedLine?E.indentUnit:0)},electricChars:"}de",lineComment:"#"}});CodeMirror.defineMIME("text/x-ruby","ruby");