Spade
Mini Shell
| Directory:~$ /home/lmsyaran/public_html/j3/media/editors/codemirror/mode/groovy/ |
| [Home] [System Details] [Kill Me] |
!(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("groovy",(function(b){function
c(a){for(var b={},c=a.split("
"),d=0;d<c.length;++d)b[c[d]]=!0;return b}function d(a,b){var
c=a.next();if('"'==c||"'"==c)return
e(c,a,b);if(/[\[\]{}\(\),;\:\.]/.test(c))return
l=c,null;if(/\d/.test(c))return
a.eatWhile(/[\w\.]/),a.eat(/eE/)&&(a.eat(/\+\-/),a.eatWhile(/\d/)),"number";if("/"==c){if(a.eat("*"))return
b.tokenize.push(g),g(a,b);if(a.eat("/"))return
a.skipToEnd(),"comment";if(h(b.lastToken,!1))return
e(c,a,b)}if("-"==c&&a.eat(">"))return
l="->",null;if(/[+\-*&%=<>!?|\/~]/.test(c))return
a.eatWhile(/[+\-*&%=<>|~]/),"operator";if(a.eatWhile(/[\w\$_]/),"@"==c)return
a.eatWhile(/[\w\$_\.]/),"meta";if("."==b.lastToken)return"property";if(a.eat(":"))return
l="proplabel","property";var d=a.current();return
p.propertyIsEnumerable(d)?"atom":m.propertyIsEnumerable(d)?(n.propertyIsEnumerable(d)?l="newstatement":o.propertyIsEnumerable(d)&&(l="standalone"),"keyword"):"variable"}function
e(a,b,c){function d(b,c){for(var
d,g=!1,h=!e;null!=(d=b.next());){if(d==a&&!g){if(!e)break;if(b.match(a+a)){h=!0;break}}if('"'==a&&"$"==d&&!g&&b.eat("{"))return
c.tokenize.push(f()),"string";g=!g&&"\\"==d}return
h&&c.tokenize.pop(),"string"}var
e=!1;if("/"!=a&&b.eat(a)){if(!b.eat(a))return"string";e=!0}return
c.tokenize.push(d),d(b,c)}function f(){function
a(a,c){if("}"==a.peek()){if(0==--b)return
c.tokenize.pop(),c.tokenize[c.tokenize.length-1](a,c)}else"{"==a.peek()&&b++;return
d(a,c)}var b=1;return a.isBase=!0,a}function g(a,b){for(var
c,d=!1;c=a.next();){if("/"==c&&d){b.tokenize.pop();break}d="*"==c}return"comment"}function
h(a,b){return!a||"operator"==a||"->"==a||/[\.\[\{\(,;:]/.test(a)||"newstatement"==a||"keyword"==a||"proplabel"==a||"standalone"==a&&!b}function
i(a,b,c,d,e){this.indented=a,this.column=b,this.type=c,this.align=d,this.prev=e}function
j(a,b,c){return a.context=new i(a.indented,b,c,null,a.context)}function
k(a){var
b=a.context.type;return")"!=b&&"]"!=b&&"}"!=b||(a.indented=a.context.indented),a.context=a.context.prev}var
l,m=c("abstract as assert boolean break byte case catch char class
const continue def default do double else enum extends final finally float
for goto if implements import in instanceof int interface long native new
package private protected public return short static strictfp super switch
synchronized threadsafe throw throws trait transient try void volatile
while"),n=c("catch class def do else enum finally for if
interface switch trait try while"),o=c("return break
continue"),p=c("null true false this");return
d.isBase=!0,{startState:function(a){return{tokenize:[d],context:new
i((a||0)-b.indentUnit,0,"top",!1),indented:0,startOfLine:!0,lastToken:null}},token:function(a,b){var
c=b.context;if(a.sol()&&(null==c.align&&(c.align=!1),b.indented=a.indentation(),b.startOfLine=!0,"statement"!=c.type||h(b.lastToken,!0)||(k(b),c=b.context)),a.eatSpace())return
null;l=null;var
d=b.tokenize[b.tokenize.length-1](a,b);if("comment"==d)return
d;if(null==c.align&&(c.align=!0),";"!=l&&":"!=l||"statement"!=c.type)if("->"==l&&"statement"==c.type&&"}"==c.prev.type)k(b),b.context.align=!1;else
if("{"==l)j(b,a.column(),"}");else
if("["==l)j(b,a.column(),"]");else
if("("==l)j(b,a.column(),")");else
if("}"==l){for(;"statement"==c.type;)c=k(b);for("}"==c.type&&(c=k(b));"statement"==c.type;)c=k(b)}else
l==c.type?k(b):("}"==c.type||"top"==c.type||"statement"==c.type&&"newstatement"==l)&&j(b,a.column(),"statement");else
k(b);return
b.startOfLine=!1,b.lastToken=l||d,d},indent:function(c,d){if(!c.tokenize[c.tokenize.length-1].isBase)return
a.Pass;var
e=d&&d.charAt(0),f=c.context;"statement"!=f.type||h(c.lastToken,!0)||(f=f.prev);var
g=e==f.type;return"statement"==f.type?f.indented+("{"==e?0:b.indentUnit):f.align?f.column+(g?0:1):f.indented+(g?0:b.indentUnit)},electricChars:"{}",closeBrackets:{triples:"'\""},fold:"brace",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}})),a.defineMIME("text/x-groovy","groovy")}));