Update minified JS file to match

This commit is contained in:
Matt Pass
2019-09-21 22:17:29 +01:00
committed by GitHub
parent fcd032d263
commit 032a62ca01

67
lib/ice-coder.min.js vendored
View File

@@ -1,6 +1,6 @@
var get=function(a){return top.document.getElementById(a)},ICEcoder={filesW:250,minFilesW:14,maxFilesW:250,selectedTab:0,savedPoints:[],savedContents:[],canSwitchTabs:!0,openFiles:[],openFileMDTs:[],openFileVersions:[],cMInstances:[],nextcMInstance:1,selectedFiles:[],findMode:!1,scrollbarVisible:!1,mouseDown:!1,mouseDownInCM:!1,mouseDownMinimap:!1,draggingFilesW:!1,draggingTab:!1,draggingWithKey:!1,tabLeftPos:[],tabBGcurrent:"#1d1d1b",tabBGselected:"#49d",tabBGopen:"#c3c3c3",tabBGnormal:"transparent",
tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",tabFGnormalFile:"#eee",tabFGnormalTab:"#888",serverQueueItems:[],miniMapBoxTop:0,miniMapBoxHeight:0,previewWindow:!1,previewWindowLoading:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,showingTool:!1,oppTagReplaceData:[],fmReady:!1,bugReportStatus:"off",bugReportPath:"",bugFilesSizesSeen:[],bugFilesSizesActual:[],githubDiff:!1,githubAuthTokenSet:!1,splitPane:!1,splitPaneLeftPerc:100,renderLineStyle:[],renderPaneShiftAmount:0,debounce:"",
editorFocusInstance:"",openSeconds:0,indexing:!1,ready:!1,initAliases:function(){for(var a="header files fileOptions optionsFile optionsEdit optionsSource optionsHelp filesFrame editor tabsBar findBar terminal output database git content tools footer nestValid versionsDisplay splitPaneControls splitPaneNamesMain splitPaneNamesDiff charDisplay byteDisplay docExplorer miniMap miniMapContainer miniMapContent functionClassList".split(" "),b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){top.ICEcoder.lockedNav||
tabFGcurrent:"#fff",tabFGselected:"#fff",tabFGopenFile:"#000",tabFGnormalFile:"#eee",tabFGnormalTab:"#888",serverQueueItems:[],miniMapBoxTop:0,miniMapBoxHeight:0,previewWindow:!1,previewWindowLoading:!1,pluginIntervalRefs:[],overPopup:!1,cmdKey:!1,codeZoomedOut:!1,showingTool:!1,oppTagReplaceData:[],fmReady:!1,bugReportStatus:"off",bugReportPath:"",bugFilesSizesSeen:[],bugFilesSizesActual:[],githubDiff:!1,githubAuthTokenSet:!1,splitPane:!1,splitPaneLeftPerc:100,renderLineStyle:[],renderPaneShiftAmount:0,
debounce:"",editorFocusInstance:"",openSeconds:0,indexing:!1,ready:!1,initAliases:function(){for(var a="header files fileOptions optionsFile optionsEdit optionsSource optionsHelp filesFrame editor tabsBar findBar terminal output database git content tools footer nestValid versionsDisplay splitPaneControls splitPaneNamesMain splitPaneNamesDiff charDisplay byteDisplay docExplorer miniMap miniMapContainer miniMapContent functionClassList".split(" "),b=0;b<a.length;b++)ICEcoder[a[b]]=top.get(a[b])},init:function(){top.ICEcoder.lockedNav||
(top.ICEcoder.filesW=ICEcoder.minFilesW);ICEcoder.setLayout();top.ICEcoder.overFileFolder("folder","|");top.ICEcoder.selectFileFolder("init");top.ICEcoder.filesFrame.contentWindow.focus();top.ICEcoder.showHide("hide",top.get("loadingMask"));top.ICEcoder.autoOpenInt=setInterval(function(){top.ICEcoder.fmReady&&(top.ICEcoder.openLastFiles&&top.ICEcoder.autoOpenFiles(),clearInterval(top.ICEcoder.autoOpenInt))},4);setInterval(ICEcoder.updateNestingIndicator,30);top.ICEcoder.startBugChecking();top.ICEcoder.autoLogoutTimer=
0;top.ICEcoder.oneSecondInt=setInterval(function(){top.ICEcoder.autoLogoutTimer++;for(var a=!1,b=1;b<=ICEcoder.savedPoints.length;b++)ICEcoder.savedPoints[b-1]!=top.ICEcoder.getcMInstance(b).changeGeneration()&&(a=!0);!a&&1<top.ICEcoder.autoLogoutMins&&top.ICEcoder.autoLogoutTimer==60*top.ICEcoder.autoLogoutMins-60&&top.ICEcoder.autoLogoutWarningScreen();get("autoLogoutIFrame")&&get("autoLogoutIFrame").contentWindow.document.getElementById("timeRemaning")&&(get("autoLogoutIFrame").contentWindow.document.getElementById("timeRemaning").innerHTML=
0<top.ICEcoder.autoLogoutTimer?60*top.ICEcoder.autoLogoutMins-top.ICEcoder.autoLogoutTimer:0);!a&&0<ICEcoder.autoLogoutMins&&top.ICEcoder.autoLogoutTimer>=60*top.ICEcoder.autoLogoutMins&&top.ICEcoder.logout("autoLogout");top.ICEcoder.openSeconds++;0==top.ICEcoder.openSeconds%300&&(top.ICEcoder.filesFrame.contentWindow.frames.pingActive.location.href="lib/session-active-ping.php");top.ICEcoder.indexing||top.ICEcoder.loadingFile||0!==top.ICEcoder.serverQueueItems.length||0!=top.ICEcoder.openSeconds%
@@ -19,7 +19,7 @@ a&&ICEcoder.filesW==ICEcoder.minFilesW)&&clearInterval(ICEcoder.changeFilesInt);
top.ICEcoder.draggingFilesW=!0):top.ICEcoder.draggingFilesW=!1},lockUnlockNav:function(){var a=top.ICEcoder.filesFrame.contentWindow.document.getElementById("fmLock");ICEcoder.lockedNav=!ICEcoder.lockedNav;a.style.backgroundPosition=ICEcoder.lockedNav?"0 0":"-16px 0"},showHidePlugins:function(a){get("plugins").style.width="show"==a?"55px":"3px";get("plugins").style.background="show"==a?"#333":"transparent";"show"==a&&ICEcoder.changeFilesW("expand")},cMonFocus:function(a,b){top.ICEcoder.getCaretPosition();
top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay();top.ICEcoder.editorFocusInstance=b;top.ICEcoder.getCaretPosition()},cMonBlur:function(a,b){},cMonKeyUp:function(a,b){"undefined"!=typeof top.doFind&&clearInterval(top.doFind);top.doFind=setTimeout(function(){top.ICEcoder.findReplace(top.get("find").value,!0,!1)},500);top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();top.ICEcoder.updateByteDisplay()},cMonCursorActivity:function(a,b){top.ICEcoder.getCaretPosition();top.ICEcoder.updateCharDisplay();
top.ICEcoder.updateByteDisplay();a.removeLineClass(top.ICEcoder["cMActiveLine"+b],"background");a.getCursor("start").line==a.getCursor().line&&(top.ICEcoder["cMActiveLine"+b]=a.addLineClass(a.getCursor().line,"background","cm-s-activeLine"));"CSS"==top.ICEcoder.caretLocType&&top.ICEcoder.cssColorPreview();var c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?top.ICEcoder.prevLineDiff:top.ICEcoder.prevLine;c!=a.getCursor().line&&a.getLine(c)&&0<a.getLine(c).length&&0==a.getLine(c).replace(/\s/g,
"").length&&a.replaceRange("",{line:c,ch:0},{line:c,ch:1E6});setTimeout(function(){for(var c,e=0;e<top.ICEcoder.renderLineStyle.length;e++){c=!1;if("diff"!=top.ICEcoder.renderLineStyle[e][0]&&-1==b.indexOf("diff")||"diff"==top.ICEcoder.renderLineStyle[e][0]&&-1<b.indexOf("diff"))c=!0;c&&a.getCursor().line+1==top.ICEcoder.renderLineStyle[e][1]?a.setOption("cursorHeight",a.defaultTextHeight()/a.lineInfo(a.getCursor().line).handle.height):a.setOption("cursorHeight",1)}},0)},cMonBeforeChange:function(a,
"").length&&a.replaceRange("",{line:c,ch:0},{line:c,ch:1E6});setTimeout(function(){for(var d,c=0;c<top.ICEcoder.renderLineStyle.length;c++){d=!1;if("diff"!=top.ICEcoder.renderLineStyle[c][0]&&-1==b.indexOf("diff")||"diff"==top.ICEcoder.renderLineStyle[c][0]&&-1<b.indexOf("diff"))d=!0;d&&a.getCursor().line+1==top.ICEcoder.renderLineStyle[c][1]?a.setOption("cursorHeight",a.defaultTextHeight()/a.lineInfo(a.getCursor().line).handle.height):a.setOption("cursorHeight",1)}},0)},cMonBeforeChange:function(a,
b,c,d){b=a.listSelections();for(var e=0;e<b.length;e++){var f=d.findMatchingTag(a,b[e].anchor);if(0!==c.text[0].indexOf(">")&&"undefined"!=typeof f&&"undo"!=c.origin&&"redo"!=c.origin&&"undefined"!=typeof f.open&&"undefined"!=typeof f.close){var g="open"==f.at?"close":"open";null!==f[g]&&(f=f[g].tag+";"+f[g].from.line+":"+f[g].from.ch,-1==top.ICEcoder.oppTagReplaceData.indexOf(f)&&top.ICEcoder.oppTagReplaceData.push(f))}}},cMonChange:function(a,b,c,d){var e;b=a.listSelections();top.ICEcoder.loadingFile?
setTimeout(function(){a.replaceRange("X",{line:1,ch:1},{line:1,ch:1});a.undo();a.clearHistory();top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=a.changeGeneration();top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=a.getValue()},0):top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab);setTimeout(function(){top.ICEcoder.scrollBarVisible=a.getScrollInfo().height>a.getScrollInfo().clientHeight;top.ICEcoder.setLayout()},0);if("undefined"!=typeof top.ICEcoder.oppTagReplaceData[0])for(var f=
0;f<top.ICEcoder.oppTagReplaceData.length;f++){var g=top.ICEcoder.oppTagReplaceData[f].split(";");var m=g[0];var h=1*g[1].split(":")[0];var l=1*g[1].split(":")[1];b[f]&&(e=d.findMatchingTag(a,b[f].anchor));if("undefined"!=typeof e&&(m="open"==e.at?e.open.tag:e.close.tag,"undefined"!=typeof c.from)){var n=h==c.from.line?c.text[0].length-c.removed[0].length:0;var p="close"==e.at&&h==c.from.line?c.removed[0].length-c.text[0].length+1:1;var k={line:h,ch:l+n+("open"==e.at?2:p)};n={line:h,ch:l+n+("open"==
@@ -43,18 +43,18 @@ top.ICEcoder.previewWindow.document.documentElement.appendChild(c));try{top.ICEc
a.changeGeneration();top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=a.getValue()},undo:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a).undo()},redo:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a).redo()},indent:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
c:b;"more"==a?top.ICEcoder.content.contentWindow.CodeMirror.commands.indentMore(b):top.ICEcoder.content.contentWindow.CodeMirror.commands.indentLess(b)},moveLines:function(a){var b;var c=top.ICEcoder.getcMInstance();var d=top.ICEcoder.getcMdiffInstance();var e=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c;var f=e.getCursor("start");var g=e.getCursor("end");"up"==a&&0<f.line&&(b=f.line-1);"down"==a&&g.line<e.lineCount()-1&&(b=g.line+1);if(!isNaN(b)){var m=e.getLine(b);e.operation(function(){if("up"==
a)for(var b=f.line;b<=g.line;b++)e.replaceRange(e.getLine(b),{line:b-1,ch:0},{line:b-1,ch:1E6});else for(b=g.line;b>=f.line;b--)e.replaceRange(e.getLine(b),{line:b+1,ch:0},{line:b+1,ch:1E6});e.replaceRange(m,{line:"up"==a?g.line:f.line,ch:0},{line:"up"==a?g.line:f.line,ch:1E6});e.setSelection({line:f.line+("up"==a?-1:1),ch:f.ch},{line:g.line+("up"==a?-1:1),ch:g.ch})})}},highlightLine:function(a){var b=top.ICEcoder.getcMInstance();var c=top.ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
c:b;b.setSelection({line:a,ch:0},{line:a,ch:b.lineInfo(a).text.length})},focus:function(a){if(!/iPhone|iPad|iPod/i.test(navigator.userAgent)){var b=top.ICEcoder.getcMInstance();var c=top.ICEcoder.getcMdiffInstance();(a=a?c:b)&&a.focus()}},goToLine:function(a){a=a?a-1:top.get("goToLineNo").value-1;var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;top.ICEcoder.scrollingOnLine=d.getCursor().line;"undefined"!=typeof top.ICEcoder.scrollInt&&
clearInterval(top.ICEcoder.scrollInt);top.ICEcoder.scrollInt=setInterval(function(){top.ICEcoder.scrollingOnLine+=(a-top.ICEcoder.scrollingOnLine)/5;d.scrollTo(0,d.defaultTextHeight()*top.ICEcoder.scrollingOnLine-d.getScrollInfo().clientHeight/10);top.ICEcoder.setMinimapLayout(d);Math.round(top.ICEcoder.scrollingOnLine)==a&&clearInterval(top.ICEcoder.scrollInt)},10);d.setCursor(a);top.ICEcoder.focus();setTimeout(function(){top.ICEcoder.focus()},0);return!1},lineCommentToggle:function(){var a=ICEcoder.getcMInstance();
var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().ch;var c=a.getCursor().line;var d=a.getLine(c);ICEcoder.lineCommentToggleSub(a,b,c,d,d.length)},tagWrapper:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;b=a;if("div"==a){var e=d.getCursor("start").line;var f=d.getCursor().line;d.operation(function(){d.replaceSelection("<div>\n"+d.getSelection()+"\n</div>",
"around");for(var a=e+1;a<=f+1;a++)d.indentLine(a);d.indentLine(f+2,"prev");d.indentLine(f+2,"subtract")})}else-1<["p","a","h1","h2","h3"].indexOf(a)&&d.getSelection().substr(0,a.length+1)=="<"+b&&d.getSelection().substr(-(a.length+3))=="</"+a+">"?d.replaceSelection(d.getSelection().substr(d.getSelection().indexOf(">")+1,d.getSelection().length-d.getSelection().indexOf(">")-1-a.length-3),"around"):("a"==a&&(b='a href=""'),d.replaceSelection("<"+b+">"+d.getSelection()+"</"+a+">","around"),"a"==a&&
d.setCursor({line:d.getCursor("start").line,ch:d.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=b.getCursor().line);b.replaceRange(b.getLine(a)+"<br>",{line:a,ch:0},{line:a,ch:1E6})},insertLineBefore:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);
d.operation(function(){d.replaceRange("\n"+d.getLine(a),{line:a,ch:0},{line:a,ch:1E6});d.setCursor({line:d.getCursor().line-1,ch:0});d.execCommand("indentAuto")})},insertLineAfter:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange(d.getLine(a)+"\n",{line:a,ch:0},{line:a,ch:1E6});d.execCommand("indentAuto")})},duplicateLines:function(a){var b=ICEcoder.getcMInstance();
var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;if(!a&&b.somethingSelected()){c=b.getCursor("start");var d=b.getCursor("end");a=c.line!=d.line&&d.ch==b.getLine(d.line).length?"\n":"";b.replaceSelection(b.getSelection()+a+b.getSelection(),"end");b.setSelection(c,d)}else a||(a=b.getCursor().line),c=b.getCursor().ch,b.replaceRange(b.getLine(a)+"\n"+b.getLine(a),{line:a,ch:0},{line:a,ch:1E6}),b.setCursor(a+1,c)},removeLines:function(a){var b=ICEcoder.getcMInstance();
var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?b.replaceSelection("","end"):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.execCommand("deleteLine"),b.setCursor(a-1,c))},jumpToDefinition:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getTokenAt(a.getCursor()).string;if(a.somethingSelected()&&top.ICEcoder.origCurorPos)a.setCursor(top.ICEcoder.origCurorPos);
c:b;b.setSelection({line:a,ch:0},{line:a,ch:b.lineInfo(a).text.length})},focus:function(a){if(!/iPhone|iPad|iPod/i.test(navigator.userAgent)){var b=top.ICEcoder.getcMInstance();var c=top.ICEcoder.getcMdiffInstance();(a=a?c:b)&&a.focus()}},goToLine:function(a,b,c){a=a?a-1:top.get("goToLineNo").value-1;b=b?b:0;var d=ICEcoder.getcMInstance();var e=ICEcoder.getcMdiffInstance();var f=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?e:d;top.ICEcoder.scrollingOnLine=f.getCursor().line;"undefined"!=typeof top.ICEcoder.scrollInt&&
clearInterval(top.ICEcoder.scrollInt);top.ICEcoder.scrollInt=setInterval(function(){top.ICEcoder.scrollingOnLine+=(a-top.ICEcoder.scrollingOnLine)/5;f.scrollTo(0,f.defaultTextHeight()*top.ICEcoder.scrollingOnLine-f.getScrollInfo().clientHeight/10);top.ICEcoder.setMinimapLayout(f);Math.round(top.ICEcoder.scrollingOnLine)==a&&clearInterval(top.ICEcoder.scrollInt)},10);f.setCursor(a,b);c||(top.ICEcoder.focus(),setTimeout(function(){top.ICEcoder.focus()},0));return!1},lineCommentToggle:function(){var a=
ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().ch;var c=a.getCursor().line;var d=a.getLine(c);ICEcoder.lineCommentToggleSub(a,b,c,d,d.length)},tagWrapper:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;b=a;if("div"==a){var e=d.getCursor("start").line;var f=d.getCursor().line;d.operation(function(){d.replaceSelection("<div>\n"+
d.getSelection()+"\n</div>","around");for(var a=e+1;a<=f+1;a++)d.indentLine(a);d.indentLine(f+2,"prev");d.indentLine(f+2,"subtract")})}else-1<["p","a","h1","h2","h3"].indexOf(a)&&d.getSelection().substr(0,a.length+1)=="<"+b&&d.getSelection().substr(-(a.length+3))=="</"+a+">"?d.replaceSelection(d.getSelection().substr(d.getSelection().indexOf(">")+1,d.getSelection().length-d.getSelection().indexOf(">")-1-a.length-3),"around"):("a"==a&&(b='a href=""'),d.replaceSelection("<"+b+">"+d.getSelection()+"</"+
a+">","around"),"a"==a&&d.setCursor({line:d.getCursor("start").line,ch:d.getCursor("start").ch+9}))},addLineBreakAtEnd:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=b.getCursor().line);b.replaceRange(b.getLine(a)+"<br>",{line:a,ch:0},{line:a,ch:1E6})},insertLineBefore:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange("\n"+d.getLine(a),{line:a,ch:0},{line:a,ch:1E6});d.setCursor({line:d.getCursor().line-1,ch:0});d.execCommand("indentAuto")})},insertLineAfter:function(a){var b=ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();var d=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;a||(a=d.getCursor().line);d.operation(function(){d.replaceRange(d.getLine(a)+"\n",{line:a,ch:0},{line:a,ch:1E6});d.execCommand("indentAuto")})},duplicateLines:function(a){var b=
ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;if(!a&&b.somethingSelected()){c=b.getCursor("start");var d=b.getCursor("end");a=c.line!=d.line&&d.ch==b.getLine(d.line).length?"\n":"";b.replaceSelection(b.getSelection()+a+b.getSelection(),"end");b.setSelection(c,d)}else a||(a=b.getCursor().line),c=b.getCursor().ch,b.replaceRange(b.getLine(a)+"\n"+b.getLine(a),{line:a,ch:0},{line:a,ch:1E6}),b.setCursor(a+1,c)},removeLines:function(a){var b=
ICEcoder.getcMInstance();var c=ICEcoder.getcMdiffInstance();b=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:b;!a&&b.somethingSelected()?b.replaceSelection("","end"):(a||(a=b.getCursor().line),c=b.getCursor().ch,b.execCommand("deleteLine"),b.setCursor(a-1,c))},jumpToDefinition:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getTokenAt(a.getCursor()).string;if(a.somethingSelected()&&top.ICEcoder.origCurorPos)a.setCursor(top.ICEcoder.origCurorPos);
else for(top.ICEcoder.origCurorPos=a.getCursor(),a=["var "+b,"function "+b,b+"=function",b+"= function",b+" =function",b+" = function",b+"=new function",b+"= new function",b+" =new function",b+" = new function","window['"+b+"']",'window["'+b+'"]',"this['"+b+"']",'this["'+b+'"]',b+":",b+" :","def "+b,"class "+b],b=0;b<a.length&&!top.ICEcoder.findReplace(a[b],!1,!1);b++);},updateFunctionClassList:function(){var a;var b=ICEcoder.getcMInstance();top.ICEcoder.functionClassList=[];b&&(b.doc.eachLine(function(a){top.ICEcoder.updateFunctionClassListItems(a)}),
setTimeout(function(){a="";for(var b=0;b<top.ICEcoder.functionClassList.length;b++)top.ICEcoder.functionClassList[b].verified&&(a+='<div onclick="top.ICEcoder.goToLine('+(top.ICEcoder.functionClassList[b].line+1)+')" class="functionClassListItem"><span class="name">'+top.ICEcoder.functionClassList[b].name+'</span><br><span class="params">'+top.ICEcoder.functionClassList[b].params+"</span></div>");get("functionClassList").innerHTML=a},0))},updateFunctionClassListItems:function(a){var b=ICEcoder.getcMInstance();
var c="";-1<a.text.indexOf("function ")&&-1<a.text.replace(/\$function/g,"").indexOf("function ")&&(c=a.text.substring(a.text.indexOf("function ")+9));-1<a.text.indexOf("class ")&&-1<a.text.replace(/\$class/g,"").indexOf("class ")&&(c=a.text.substring(a.text.indexOf("class ")+6));c=c.trim().split("{")[0].split("(");""!=c[0]&&(top.ICEcoder.functionClassList.push({line:b.getLineNumber(a),name:c[0],params:"("+(c[1]?c[1].replace(/[,]/g,", "):""),verified:!1}),setTimeout(function(){if(!a.styles||a.styles&&
-1<a.styles.indexOf("def")&&b.getLineNumber(a))for(var c=0;c<top.ICEcoder.functionClassList.length;c++)top.ICEcoder.functionClassList[c].line==b.getLineNumber(a)&&(top.ICEcoder.functionClassList[c].verified=!0)},0))},setMinimap:function(){var a;if(a=ICEcoder.getcMInstance()){top.ICEcoder.content.contentWindow.CodeMirror.runMode(a.getValue(),a.getOption("mode"),get("miniMapContent"));get("miniMapContent").innerHTML='<div class="cm-s-'+top.ICEcoder.theme+'" style="font-family: monospace; white-space: '+
-1<a.styles.indexOf("def")&&b.getLineNumber(a))for(var d=0;d<top.ICEcoder.functionClassList.length;d++)top.ICEcoder.functionClassList[d].line==b.getLineNumber(a)&&(top.ICEcoder.functionClassList[d].verified=!0)},0))},setMinimap:function(){var a;if(a=ICEcoder.getcMInstance()){top.ICEcoder.content.contentWindow.CodeMirror.runMode(a.getValue(),a.getOption("mode"),get("miniMapContent"));get("miniMapContent").innerHTML='<div class="cm-s-'+top.ICEcoder.theme+'" style="font-family: monospace; white-space: '+
(1==top.ICEcoder.lineWrapping?"pre-wrap":"pre")+'; font-size: 2px; line-height: 2px">'+get("miniMapContent").innerHTML+"</div>";get("miniMapContent").innerHTML=get("miniMapContent").innerHTML.replace(/<span /g,'<span style="font-size: 2px; font-family: monospace" ');get("miniMapContainer").innerHTML='<div style="position: absolute; display: inline-block; top: '+top.ICEcoder.miniMapBoxTop+"px; left: 0; width: 200px; height: "+top.ICEcoder.miniMapBoxHeight+'px; background: rgba(0,198,255,0.1); z-index: 1; cursor: pointer" id="miniMapBox"></div>';
var b=get("miniMapBox");b=new Draggabilly(b,{axis:"y",containment:!0});b.on("dragMove",function(b,d,e){yPos=this.position.y;maxHeight=parseInt(get("docExplorer").style.height,10)<=parseInt(get("miniMapContent").getBoundingClientRect().height,10)?parseInt(get("docExplorer").style.height,10):parseInt(get("miniMapContent").getBoundingClientRect().height,10);newPerc=this.position.y/(maxHeight-top.ICEcoder.miniMapBoxHeight);yPos=(a.getScrollInfo().height-a.getScrollInfo().clientHeight)*newPerc;a.scrollTo(0,
yPos)});b.on("pointerDown",function(a,b){top.ICEcoder.mouseDownMinimap=!0});b.on("pointerUp",function(a,b){top.ICEcoder.mouseDownMinimap=!1});top.ICEcoder.setMinimapLayout(a);get("docExplorer").style.right="-220px"}},setMinimapLayout:function(a,b){if(get("miniMapBox")&&a){var c=top.ICEcoder.getcMInstance();var d=a.getScrollInfo().top/(a.getScrollInfo().height-a.getScrollInfo().clientHeight);parseInt(get("miniMapContent").getBoundingClientRect().height,10)>parseInt(get("docExplorer").style.height,
@@ -66,7 +66,7 @@ a);b.replaceSelection(a,"around")},searchForSelected:function(){var a=top.ICEcod
d.parentNode.nextSibling&&(f=d.parentNode.nextSibling.nextSibling),f&&(f=f.childNodes[0]));"left"==b&&"folder"==e&&d.parentNode.previousSibling&&top.ICEcoder.openCloseDir(c,!1);if("right"==b||"enter"==b)"folder"==e?top.ICEcoder.openCloseDir(c,!0):top.ICEcoder.openFile(c.childNodes[1].id.replace(/\|/g,"/"));f&&f.childNodes[1]&&(top.ICEcoder.overFileFolder(e,f.childNodes[1].id),top.ICEcoder.selectFileFolder(a))},openCloseDir:function(a,b){var c;a.onclick=function(a){a.ctrlKey||top.ICEcoder.cmdKey||
top.ICEcoder.openCloseDir(this,!b)};var d=a.parentNode;d.nextSibling&&(d=d.nextSibling);d&&"UL"==d.tagName&&((c="none"==d.style.display)?b=!0:d.style.display="none",a.parentNode.className=a.className=c?"pft-directory dirOpen":"pft-directory");b?top.ICEcoder.filesFrame.contentWindow.frames.fileControl.location.href="lib/get-branch.php?location="+a.childNodes[1].id+"&csrf="+top.ICEcoder.csrf:"UL"==d.tagName&&d.parentNode.removeChild(d);return!1},overFileFolder:function(a,b){ICEcoder.thisFileFolderType=
a;ICEcoder.thisFileFolderLink=b},isFileFolder:function(a){return(a=top.get("filesFrame").contentWindow.document.getElementById(a.replace(top.iceRoot,"").replace(/\/$/,"").replace(/\//g,"|")))?-1<a.parentNode.parentNode.className.indexOf("directory")?"folder":"file":!1},selectFileFolder:function(a,b,c){if(""==top.ICEcoder.thisFileFolderLink)b||a.ctrlKey||top.ICEcoder.cmdKey||top.ICEcoder.deselectAllFiles();else if(top.ICEcoder.thisFileFolderLink){var d=top.ICEcoder.thisFileFolderLink.replace(/\//g,
"|");var e=top.ICEcoder.filesFrame.contentWindow.document.getElementById(d);if(b||a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(d)?(ICEcoder.selectDeselectFile("deselect",e),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(d),1)):(ICEcoder.selectDeselectFile("select",e),top.ICEcoder.selectedFiles.push(d));else if(c||a.shiftKey){var f=function(a,b,c,d){return("00000000000000000000"+a).substr(-20)};a=!1;b=e.parentNode.parentNode.parentNode;var g=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-
"|");var e=top.ICEcoder.filesFrame.contentWindow.document.getElementById(d);if(b||a.ctrlKey||top.ICEcoder.cmdKey)-1<top.ICEcoder.selectedFiles.indexOf(d)?(ICEcoder.selectDeselectFile("deselect",e),top.ICEcoder.selectedFiles.splice(top.ICEcoder.selectedFiles.indexOf(d),1)):(ICEcoder.selectDeselectFile("select",e),top.ICEcoder.selectedFiles.push(d));else if(c||a.shiftKey){var f=function(a,b,d,c){return("00000000000000000000"+a).substr(-20)};a=!1;b=e.parentNode.parentNode.parentNode;var g=top.ICEcoder.selectedFiles[top.ICEcoder.selectedFiles.length-
1];c=d.replace(/\d+/g,f)<g.replace(/\d+/g,f)?d:g;g=d.replace(/\d+/g,f)>g.replace(/\d+/g,f)?d:g;if(0<top.ICEcoder.selectedFiles.length&&c.substr(0,c.lastIndexOf("|"))==g.substr(0,g.lastIndexOf("|")))for(d=0;1E6>d&&("LI"!=b.childNodes[d].nodeName&&d++,e=b.childNodes[d].childNodes[0].childNodes[1],e.id==c&&(a=!0),1==a&&-1==top.ICEcoder.selectedFiles.indexOf(e.id)&&(ICEcoder.selectDeselectFile("select",e),top.ICEcoder.selectedFiles.push(e.id)),e.id!=g);d+=2);else ICEcoder.selectDeselectFile("select",
e),top.ICEcoder.selectedFiles.push(d)}else top.ICEcoder.deselectAllFiles(),ICEcoder.selectDeselectFile("select",e),top.ICEcoder.selectedFiles.push(d)}top.ICEcoder.githubDiff&&(top.get("githubNavSelectedCount").innerHTML="Selected: "+top.ICEcoder.selectedFiles.length,top.get("githubNavCommit").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavCommit").style.background=0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555",top.get("githubNavSelectedCount").style.color=0<
top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.color=0<top.ICEcoder.selectedFiles.length?"#fff":"#333",top.get("githubNavPull").style.background=0<top.ICEcoder.selectedFiles.length?"#2187e7":"#555");document.findAndReplace.target[2].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected files"]:top.t["all files"];document.findAndReplace.target[3].innerHTML=top.ICEcoder.selectedFiles[0]?top.t["selected filenames"]:top.t["all filenames"];top.ICEcoder.hideFileMenu()},
@@ -187,23 +187,24 @@ b==top.ICEcoder.draggingTab?1:.5;var c=top.ICEcoder.tabLeftPos[b]?top.ICEcoder.t
top.ICEcoder.tabLeftPos[b-1]&&(a=top.ICEcoder.thisLeft==top.ICEcoder.tabLeftPos[0]?1:top.ICEcoder.dragTabNo>b?b+1:b),top.get("tab"+b).className="tab",top.get("tab"+b).style.opacity=1,b!=top.ICEcoder.dragTabNo?top.get("tab"+b).style.zIndex=1:setTimeout(function(){top.get("tab"+b).style.zIndex=1},150);if(top.ICEcoder.thisLeft&&!1!==top.ICEcoder.thisLeft){var c=[];for(b=1;b<=top.ICEcoder.openFiles.length;b++)c.push(b);c.splice(top.ICEcoder.dragTabNo-1,1);c.splice(a-1,0,top.ICEcoder.dragTabNo);ICEcoder.sortTabs(c)}top.ICEcoder.setTabWidths();
top.ICEcoder.draggingTab=!1;top.ICEcoder.thisLeft=!1},sortTabs:function(a){var b;var c=[ICEcoder.savedPoints,ICEcoder.savedContents,ICEcoder.openFiles,ICEcoder.openFileMDTs,ICEcoder.openFileVersions,ICEcoder.cMInstances];var d=[[],[],[],[],[],[]];for(var e=0;e<c.length;e++){for(var f=0;f<c[e].length;f++)d[e].push(c[e][a[f]-1]);c[e]=d[e]}for(e=0;e<a.length;e++)top.get("tab"+a[e]).id="tab"+(e+1)+".temp",top.ICEcoder.selectedTab==a[e]&&(b=e+1);for(e=0;e<a.length;e++)top.get("tab"+(e+1)+".temp").id="tab"+
(e+1);top.get("tab"+b)&&(top.get("tab"+b).className="tab tabSlide");ICEcoder.savedPoints=c[0];ICEcoder.savedContents=c[1];ICEcoder.openFiles=c[2];ICEcoder.openFileMDTs=c[3];ICEcoder.openFileVersions=c[4];ICEcoder.cMInstances=c[5];top.ICEcoder.setTabWidths();top.ICEcoder.switchTab(b)},alphaTabs:function(){if(0<top.ICEcoder.openFiles.length){var a;var b=[];var c=[];var d=[];for(var e=0;e<top.ICEcoder.openFiles.length;e++)b.push(top.ICEcoder.openFiles[e].slice(top.ICEcoder.openFiles[e].lastIndexOf("/")+
1)),c.push(top.ICEcoder.openFiles[e]),top.get("tab"+(e+1)).className="tab tabSlide";for(;0<b.length;){var f=b[0];nextValueFull=c[0];for(e=a=0;e<b.length;e++)b[e]<f&&(f=b[e],nextValueFull=top.ICEcoder.openFiles[top.ICEcoder.openFiles.indexOf(c[e])],a=e);d.push(top.ICEcoder.openFiles.indexOf(nextValueFull)+1);b.splice(a,1);c.splice(a,1)}top.ICEcoder.sortTabs(d)}},interceptKeys:function(a,b){var c=b.keyCode?b.keyCode:b.which?b.which:b.charCode;top.ICEcoder.resetAutoLogoutTimer();top.ICEcoder.last5Keys||
(top.ICEcoder.last5Keys=[]);top.ICEcoder.last5Keys.push(c);6==top.ICEcoder.last5Keys.length&&top.ICEcoder.last5Keys.shift();"83,78,65,75,69"==top.ICEcoder.last5Keys.join()&&setTimeout(function(){e=ICEcoder.getcMInstance();for(var a=0,b=e.changeGeneration();e.changeGeneration()>b-5;)e.undo(),a++;if(top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]==e.changeGeneration())top.ICEcoder.startSnake();else for(b=1;b<=a;b++)e.redo()},0);if(top.ICEcoder.snakePlaying)return 37==c&&(top.ICEcoder.snakeDir=
"left"),39==c&&(top.ICEcoder.snakeDir="right"),38==c&&(top.ICEcoder.snakeDir="up"),40==c&&(top.ICEcoder.snakeDir="down"),!1;if(224==c||91==c||93==c)top.ICEcoder.cmdKey=!0;if(46==c&&"files"==a)return top.ICEcoder.deleteFiles(),!1;if(b.altKey){var d=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1;return"ctrl+alt"==top.ICEcoder.tagWrapperCommand&&d||"alt-left"==top.ICEcoder.tagWrapperCommand&&!d?"content"==a?68==c?(top.ICEcoder.tagWrapper("div"),!1):83==c?(top.ICEcoder.tagWrapper("span"),!1):80==c?(top.ICEcoder.tagWrapper("p"),
!1):65==c?(top.ICEcoder.tagWrapper("a"),!1):49==c?(top.ICEcoder.tagWrapper("h1"),!1):50==c?(top.ICEcoder.tagWrapper("h2"),!1):51==c?(top.ICEcoder.tagWrapper("h3"),!1):13==c?(top.ICEcoder.addLineBreakAtEnd(),!1):37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):c:37==c?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):39==c?(top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1),!1):c:13==c?(top.ICEcoder.insertLineAfter(),!1):c}if(13==c&&b.shiftKey)return top.ICEcoder.insertLineBefore(),
!1;if(70!=c&&71!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(76==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return c=top.get("goToLineNo"),c.select(),top.get("find").focus(),c.focus(),!1;if(73==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.searchForSelected(),!1;if(39==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.nextTab(),!1;if(37==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.previousTab(),!1;if(38==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&
"content"==a)return top.ICEcoder.moveLines("up"),!1;if(40==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("down"),!1;if(107!=c&&187!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(109!=c&&189!=c||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(83==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return b.shiftKey?top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1;if(13==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])return top.ICEcoder.resetKeys(b),
window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1;if(13==c&&"files"==a)return b.ctrlKey||top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,"enter")),!1;if(38!=c&&40!=c&&37!=c&&39!=c||"files"!=a){if(79==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return top.ICEcoder.openPrompt(),!1;if(32==c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.addSnippet(),!1;if(74==
c&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.jumpToDefinition(),!1;if(223==c&&(b.ctrlKey||top.ICEcoder.cmdKey))return top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(top.ICEcoder.lockedNav?"expand":"contract"),!1;if(190==c&&(b.ctrlKey||top.ICEcoder.cmdKey)){var e=ICEcoder.getcMInstance();var f=ICEcoder.getcMdiffInstance();f=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?f:e;f.getCursor();return!1}return 27==c&&"content"==a?(e=ICEcoder.getcMInstance(),f=ICEcoder.getcMdiffInstance(),
f=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?f:e,1<f.getSelections().length?f.execCommand("singleSelection"):top.ICEcoder.lineCommentToggle(),!1):27==c&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):c}b.ctrlKey||top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,38==c?"up":40==c?"down":37==c?"left":"right"));return!1}"content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab);
return!1}"content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab();return!1}d=top.get("find");e=ICEcoder.getcMInstance();f=ICEcoder.getcMdiffInstance();f=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?f:e;f=f.getSelections();0<f.length&&0<f[0].length&&(d.value=f[0]);d.select();top.get("goToLineNo").focus();d.focus();70==c?top.get("findReplaceSubmit").click():ICEcoder.findReplace(top.document.getElementById("find").value,!1,!0,!1,"findPrevious");return!1},resetKeys:function(a){top.ICEcoder.cmdKey=
!1},addSnippet:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().line;var c=a.getLine(b).length-a.getLine(b).replace(/^\s\s*/,"").length;a=a.getLine(b).slice(c);"function"==a.slice(0,8)?top.ICEcoder.doSnippet("function","function VAR() {\nINDENT\tCURSOR\nINDENT}"):"if"==a.slice(0,2)?top.ICEcoder.doSnippet("if","if (CURSOR) {\nINDENT\t\nINDENT}"):"for"==a.slice(0,3)&&top.ICEcoder.doSnippet("for","for (var i=0; i<CURSOR; i++) {\nINDENT\t\nINDENT}")},
doSnippet:function(a,b){var c=ICEcoder.getcMInstance();var d=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c;d=c.getCursor().line;if(-1<c.getLine(d).indexOf(a)){var e=c.getLine(d);var f=e.indexOf(a);e=e.slice(e.indexOf(a)+a.length+1);b=b.replace(/VAR/g,e);e=c.getLine(d).slice(0,f);f=c.getLine(d).length-c.getLine(d).replace(/^\s\s*/,"").length;f=c.getLine(d).slice(0,f);b=b.replace(/INDENT/g,f);e+=b;f=e.indexOf("CURSOR");var g=0;var m=d;for(i=0;i<e.length;i++)e.indexOf("\n",
g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,m+=1);c.replaceRange(e.replace("CURSOR",""),{line:d,ch:0},{line:d,ch:1E6});c.setCursor(m,f);top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1)}},startSnake:function(){top.ICEcoder.snakePlaying=!0;top.ICEcoder.showHide("show",top.get("blackMask"));top.get("mediaContainer").innerHTML='<span style="font-size: 14px">Let\'s play<br><img src="images/snake.png" alt="snake"><br><br><br>Use arrow keys to eat your code<br><br>(it returns afterwards of course) :-)</span>';
setTimeout(function(){top.ICEcoder.showHide("hide",top.get("blackMask"));top.get("mediaContainer").innerHTML="";top.ICEcoder.playSnake()},2E3)},playSnake:function(){var a=ICEcoder.getcMInstance();a.setOption("readOnly","nocursor");a.focus();top.ICEcoder.snakePreHistory=a.getHistory();top.ICEcoder.snakePreContent=a.getValue();top.ICEcoder.snakePreCursor=a.getCursor();a=Math.floor(50*Math.random());top.ICEcoder.snakePos=[[a,0],[a,-1],[a,-2],[a,-3],[a,-4]];top.ICEcoder.content.contentWindow.document.getElementById("game").style.display=
"block";top.ICEcoder.snakeDir="down";top.ICEcoder.doSnake();top.ICEcoder.snakeInt=setInterval(function(){var a=[];a[0]=top.ICEcoder.snakePos[0][0]+("right"==top.ICEcoder.snakeDir?1:"left"==top.ICEcoder.snakeDir?-1:0);a[1]=top.ICEcoder.snakePos[0][1]+("down"==top.ICEcoder.snakeDir?1:"up"==top.ICEcoder.snakeDir?-1:0);top.ICEcoder.snakePos.unshift(a);top.ICEcoder.snakePos.pop();top.ICEcoder.doSnake()},100)},doSnake:function(){var a;var b=ICEcoder.getcMInstance();var c=b.defaultCharWidth();var d=b.defaultTextHeight();
var e=top.ICEcoder.content.contentWindow.document.getElementById("game").innerHTML="";for(a=0;a<top.ICEcoder.snakePos.length;a++)e+='<div style="position: absolute; diplay: inline-block; width: '+c+"px; height: "+d+"px; top: "+(top.ICEcoder.snakePos[a][1]*d+4)+"px; left: "+(top.ICEcoder.snakePos[a][0]*c+60)+'px; background: #fff"></div>';top.ICEcoder.content.contentWindow.document.getElementById("game").innerHTML=e;e=b.coordsChar({top:top.ICEcoder.snakePos[0][1]*d+4,left:top.ICEcoder.snakePos[0][0]*
c+60});var f=b.getLine(e.line);if(top.ICEcoder.snakePos[0][0]-1<=f.length-2){var g="";if("\t"===f.substr(e.ch,1))for(a=0;a<b.getOption("tabSize");a++)g+=" ";else g=" ";top.ICEcoder.snakePos.push([top.ICEcoder.snakePos[top.ICEcoder.snakePos.length-1][0],top.ICEcoder.snakePos[top.ICEcoder.snakePos.length-1][1]]);b.doc.replaceRange(top.ICEcoder.snakePos[0][0]-1==f.length-2?"":g,e,{line:e.line,ch:e.ch+1});top.ICEcoder.snakePos[0][0]-1==f.length-2&&b.doc.replaceRange(b.getLine(e.line).replace(/[ \t]+$/,
""),{line:e.line,ch:0},{line:e.line,ch:1E6})}else 5<=top.ICEcoder.snakePos.length&&top.ICEcoder.snakePos.pop();e=!1;for(a=1;a<top.ICEcoder.snakePos.length;a++)top.ICEcoder.snakePos[a][0]==top.ICEcoder.snakePos[0][0]&&top.ICEcoder.snakePos[a][1]==top.ICEcoder.snakePos[0][1]&&(e=!0);a=b.getScrollInfo();if(0>top.ICEcoder.snakePos[0][0]||0>top.ICEcoder.snakePos[0][1]||top.ICEcoder.snakePos[0][0]*c+60>a.clientWidth||top.ICEcoder.snakePos[0][1]*d+4>a.clientHeight||e)clearInterval(top.ICEcoder.snakeInt),
top.ICEcoder.content.contentWindow.document.getElementById("game").style.display="none",b.setValue(top.ICEcoder.snakePreContent),top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=b.changeGeneration(),top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=top.ICEcoder.snakePreContent,b.setHistory(top.ICEcoder.snakePreHistory),top.ICEcoder.indicateChanges(),top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab),b.setOption("readOnly",!1),b.setCursor(top.ICEcoder.snakePreCursor),b.focus(),top.ICEcoder.snakePlaying=
!1}};
1)),c.push(top.ICEcoder.openFiles[e]),top.get("tab"+(e+1)).className="tab tabSlide";for(;0<b.length;){var f=b[0];nextValueFull=c[0];for(e=a=0;e<b.length;e++)b[e]<f&&(f=b[e],nextValueFull=top.ICEcoder.openFiles[top.ICEcoder.openFiles.indexOf(c[e])],a=e);d.push(top.ICEcoder.openFiles.indexOf(nextValueFull)+1);b.splice(a,1);c.splice(a,1)}top.ICEcoder.sortTabs(d)}},interceptKeys:function(a,b){var c;var d=b.keyCode?b.keyCode:b.which?b.which:b.charCode;top.ICEcoder.resetAutoLogoutTimer();top.ICEcoder.last5Keys||
(top.ICEcoder.last5Keys=[]);top.ICEcoder.last5Keys.push(d);6==top.ICEcoder.last5Keys.length&&top.ICEcoder.last5Keys.shift();"83,78,65,75,69"==top.ICEcoder.last5Keys.join()&&setTimeout(function(){e=ICEcoder.getcMInstance();for(var a=0,b=e.changeGeneration();e.changeGeneration()>b-5;)e.undo(),a++;if(top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]==e.changeGeneration())top.ICEcoder.startSnake();else for(b=1;b<=a;b++)e.redo()},0);if(top.ICEcoder.snakePlaying)return 37==d&&(top.ICEcoder.snakeDir=
"left"),39==d&&(top.ICEcoder.snakeDir="right"),38==d&&(top.ICEcoder.snakeDir="up"),40==d&&(top.ICEcoder.snakeDir="down"),!1;if(224==d||91==d||93==d)top.ICEcoder.cmdKey=!0;if(112===d){if(top.ICEcoder.codeZoomedOut)return;top.ICEcoder.codeZoomedOut=!0;var e=ICEcoder.getcMInstance();for(d=0;d<e.lineCount();d++){var f=!0;for(c=0;c<top.ICEcoder.functionClassList.length;c++)top.ICEcoder.functionClassList[c].line==d&&(f=!1);f&&e.addLineClass(d,"wrap","code-zoomed-out")}e.refresh();return!1}if(46==d&&"files"==
a)return top.ICEcoder.deleteFiles(),!1;if(b.altKey)return f=b.ctrlKey||top.ICEcoder.cmdKey?!0:!1,"ctrl+alt"==top.ICEcoder.tagWrapperCommand&&f||"alt-left"==top.ICEcoder.tagWrapperCommand&&!f?"content"==a?68==d?(top.ICEcoder.tagWrapper("div"),!1):83==d?(top.ICEcoder.tagWrapper("span"),!1):80==d?(top.ICEcoder.tagWrapper("p"),!1):65==d?(top.ICEcoder.tagWrapper("a"),!1):49==d?(top.ICEcoder.tagWrapper("h1"),!1):50==d?(top.ICEcoder.tagWrapper("h2"),!1):51==d?(top.ICEcoder.tagWrapper("h3"),!1):13==d?(top.ICEcoder.addLineBreakAtEnd(),
!1):37==d?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):d:37==d?(top.ICEcoder.filesFrame.contentWindow.focus(),!1):39==d?(top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1),!1):d:13==d?(top.ICEcoder.insertLineAfter(),!1):d;if(13==d&&b.shiftKey)return top.ICEcoder.insertLineBefore(),!1;if(70!=d&&71!=d||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(76==d&&(b.ctrlKey||top.ICEcoder.cmdKey))return d=top.get("goToLineNo"),d.select(),top.get("find").focus(),d.focus(),!1;if(73==d&&
(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.searchForSelected(),!1;if(39==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.nextTab(),!1;if(37==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"!=a)return top.ICEcoder.previousTab(),!1;if(38==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("up"),!1;if(40==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a)return top.ICEcoder.moveLines("down"),!1;if(107!=d&&187!=d||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(109!=
d&&189!=d||!b.ctrlKey&&!top.ICEcoder.cmdKey){if(83==d&&(b.ctrlKey||top.ICEcoder.cmdKey))return b.shiftKey?top.ICEcoder.saveFile("saveAs"):top.ICEcoder.saveFile(),!1;if(13==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"/[NEW]"!=top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1])return top.ICEcoder.resetKeys(b),window.open(top.ICEcoder.openFiles[top.ICEcoder.selectedTab-1]),!1;if(13==d&&"files"==a)return b.ctrlKey||top.ICEcoder.cmdKey||(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder",
"|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,"enter")),!1;if(38!=d&&40!=d&&37!=d&&39!=d||"files"!=a)return 79==d&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.openPrompt(),!1):32==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.addSnippet(),!1):74==d&&(b.ctrlKey||top.ICEcoder.cmdKey)&&"content"==a?(top.ICEcoder.jumpToDefinition(),!1):223==d&&(b.ctrlKey||top.ICEcoder.cmdKey)?(top.ICEcoder.lockUnlockNav(),ICEcoder.changeFilesW(top.ICEcoder.lockedNav?"expand":
"contract"),!1):190==d&&(b.ctrlKey||top.ICEcoder.cmdKey)?(e=ICEcoder.getcMInstance(),c=ICEcoder.getcMdiffInstance(),c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:e,c.getCursor(),!1):27==d&&"content"==a?(e=ICEcoder.getcMInstance(),c=ICEcoder.getcMdiffInstance(),c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?c:e,1<c.getSelections().length?c.execCommand("singleSelection"):top.ICEcoder.lineCommentToggle(),!1):27==d&&"content"!=a?(top.ICEcoder.cancelAllActions(),!1):d;b.ctrlKey||top.ICEcoder.cmdKey||
(0==top.ICEcoder.selectedFiles.length&&(top.ICEcoder.overFileFolder("folder","|"),top.ICEcoder.selectFileFolder("init")),top.ICEcoder.fmAction(b,38==d?"up":40==d?"down":37==d?"left":"right"));return!1}"content"==a?top.ICEcoder.removeLines():top.ICEcoder.closeTab(top.ICEcoder.selectedTab);return!1}"content"==a?top.ICEcoder.duplicateLines():top.ICEcoder.newTab();return!1}f=top.get("find");e=ICEcoder.getcMInstance();c=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?
c:e;c=c.getSelections();0<c.length&&0<c[0].length&&(f.value=c[0]);f.select();top.get("goToLineNo").focus();f.focus();70==d?top.get("findReplaceSubmit").click():ICEcoder.findReplace(top.document.getElementById("find").value,!1,!0,!1,"findPrevious");return!1},resetKeys:function(a){if(112==(a.keyCode?a.keyCode:a.which?a.which:a.charCode)&&top.ICEcoder.codeZoomedOut){a=ICEcoder.getcMInstance();for(var b=0;b<a.lineCount();b++){for(var c=!0,d=0;d<top.ICEcoder.functionClassList.length;d++)top.ICEcoder.functionClassList[d].line==
b&&(c=!1);c&&a.removeLineClass(b,"wrap","code-zoomed-out")}a.refresh();a=a.getCursor();top.ICEcoder.goToLine(a.line+1,a.ch,!1);top.ICEcoder.codeZoomedOut=!1}top.ICEcoder.cmdKey=!1},addSnippet:function(){var a=ICEcoder.getcMInstance();var b=ICEcoder.getcMdiffInstance();a=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?b:a;b=a.getCursor().line;var c=a.getLine(b).length-a.getLine(b).replace(/^\s\s*/,"").length;a=a.getLine(b).slice(c);"function"==a.slice(0,8)?top.ICEcoder.doSnippet("function","function VAR() {\nINDENT\tCURSOR\nINDENT}"):
"if"==a.slice(0,2)?top.ICEcoder.doSnippet("if","if (CURSOR) {\nINDENT\t\nINDENT}"):"for"==a.slice(0,3)&&top.ICEcoder.doSnippet("for","for (var i=0; i<CURSOR; i++) {\nINDENT\t\nINDENT}")},doSnippet:function(a,b){var c=ICEcoder.getcMInstance();var d=ICEcoder.getcMdiffInstance();c=-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?d:c;d=c.getCursor().line;if(-1<c.getLine(d).indexOf(a)){var e=c.getLine(d);var f=e.indexOf(a);e=e.slice(e.indexOf(a)+a.length+1);b=b.replace(/VAR/g,e);e=c.getLine(d).slice(0,
f);f=c.getLine(d).length-c.getLine(d).replace(/^\s\s*/,"").length;f=c.getLine(d).slice(0,f);b=b.replace(/INDENT/g,f);e+=b;f=e.indexOf("CURSOR");var g=0;var m=d;for(i=0;i<e.length;i++)e.indexOf("\n",g)<e.indexOf("CURSOR")&&(g=e.indexOf("\n",g)+1,m+=1);c.replaceRange(e.replace("CURSOR",""),{line:d,ch:0},{line:d,ch:1E6});c.setCursor(m,f);top.ICEcoder.focus(-1<top.ICEcoder.editorFocusInstance.indexOf("diff")?!0:!1)}},startSnake:function(){top.ICEcoder.snakePlaying=!0;top.ICEcoder.showHide("show",top.get("blackMask"));
top.get("mediaContainer").innerHTML='<span style="font-size: 14px">Let\'s play<br><img src="images/snake.png" alt="snake"><br><br><br>Use arrow keys to eat your code<br><br>(it returns afterwards of course) :-)</span>';setTimeout(function(){top.ICEcoder.showHide("hide",top.get("blackMask"));top.get("mediaContainer").innerHTML="";top.ICEcoder.playSnake()},2E3)},playSnake:function(){var a=ICEcoder.getcMInstance();a.setOption("readOnly","nocursor");a.focus();top.ICEcoder.snakePreHistory=a.getHistory();
top.ICEcoder.snakePreContent=a.getValue();top.ICEcoder.snakePreCursor=a.getCursor();a=Math.floor(50*Math.random());top.ICEcoder.snakePos=[[a,0],[a,-1],[a,-2],[a,-3],[a,-4]];top.ICEcoder.content.contentWindow.document.getElementById("game").style.display="block";top.ICEcoder.snakeDir="down";top.ICEcoder.doSnake();top.ICEcoder.snakeInt=setInterval(function(){var a=[];a[0]=top.ICEcoder.snakePos[0][0]+("right"==top.ICEcoder.snakeDir?1:"left"==top.ICEcoder.snakeDir?-1:0);a[1]=top.ICEcoder.snakePos[0][1]+
("down"==top.ICEcoder.snakeDir?1:"up"==top.ICEcoder.snakeDir?-1:0);top.ICEcoder.snakePos.unshift(a);top.ICEcoder.snakePos.pop();top.ICEcoder.doSnake()},100)},doSnake:function(){var a;var b=ICEcoder.getcMInstance();var c=b.defaultCharWidth();var d=b.defaultTextHeight();var e=top.ICEcoder.content.contentWindow.document.getElementById("game").innerHTML="";for(a=0;a<top.ICEcoder.snakePos.length;a++)e+='<div style="position: absolute; diplay: inline-block; width: '+c+"px; height: "+d+"px; top: "+(top.ICEcoder.snakePos[a][1]*
d+4)+"px; left: "+(top.ICEcoder.snakePos[a][0]*c+60)+'px; background: #fff"></div>';top.ICEcoder.content.contentWindow.document.getElementById("game").innerHTML=e;e=b.coordsChar({top:top.ICEcoder.snakePos[0][1]*d+4,left:top.ICEcoder.snakePos[0][0]*c+60});var f=b.getLine(e.line);if(top.ICEcoder.snakePos[0][0]-1<=f.length-2){var g="";if("\t"===f.substr(e.ch,1))for(a=0;a<b.getOption("tabSize");a++)g+=" ";else g=" ";top.ICEcoder.snakePos.push([top.ICEcoder.snakePos[top.ICEcoder.snakePos.length-1][0],
top.ICEcoder.snakePos[top.ICEcoder.snakePos.length-1][1]]);b.doc.replaceRange(top.ICEcoder.snakePos[0][0]-1==f.length-2?"":g,e,{line:e.line,ch:e.ch+1});top.ICEcoder.snakePos[0][0]-1==f.length-2&&b.doc.replaceRange(b.getLine(e.line).replace(/[ \t]+$/,""),{line:e.line,ch:0},{line:e.line,ch:1E6})}else 5<=top.ICEcoder.snakePos.length&&top.ICEcoder.snakePos.pop();e=!1;for(a=1;a<top.ICEcoder.snakePos.length;a++)top.ICEcoder.snakePos[a][0]==top.ICEcoder.snakePos[0][0]&&top.ICEcoder.snakePos[a][1]==top.ICEcoder.snakePos[0][1]&&
(e=!0);a=b.getScrollInfo();if(0>top.ICEcoder.snakePos[0][0]||0>top.ICEcoder.snakePos[0][1]||top.ICEcoder.snakePos[0][0]*c+60>a.clientWidth||top.ICEcoder.snakePos[0][1]*d+4>a.clientHeight||e)clearInterval(top.ICEcoder.snakeInt),top.ICEcoder.content.contentWindow.document.getElementById("game").style.display="none",b.setValue(top.ICEcoder.snakePreContent),top.ICEcoder.savedPoints[top.ICEcoder.selectedTab-1]=b.changeGeneration(),top.ICEcoder.savedContents[top.ICEcoder.selectedTab-1]=top.ICEcoder.snakePreContent,
b.setHistory(top.ICEcoder.snakePreHistory),top.ICEcoder.indicateChanges(),top.ICEcoder.redoTabHighlight(top.ICEcoder.selectedTab),b.setOption("readOnly",!1),b.setCursor(top.ICEcoder.snakePreCursor),b.focus(),top.ICEcoder.snakePlaying=!1}};