diff --git a/lib/ice-coder.js b/lib/ice-coder.js index 1582297..cac23c2 100644 --- a/lib/ice-coder.js +++ b/lib/ice-coder.js @@ -393,6 +393,28 @@ var ICEcoder = { cM.setLine(line,cM.getLine(line)+"
"); }, + // Duplicate line + duplicateLine: function(line) { + var cM, ch; + + cM = ICEcoder.getcMInstance(); + if (!line) {line = cM.getCursor().line}; + ch = cM.getCursor().ch; + cM.setLine(line,cM.getLine(line)+"\n"+cM.getLine(line)); + cM.setCursor(line+1,ch); + }, + + // Remove line + removeLine: function(line) { + var cM, ch; + + cM = ICEcoder.getcMInstance(); + if (!line) {line = cM.getCursor().line}; + ch = cM.getCursor().ch; + cM.removeLine(line); + cM.setCursor(line-1,ch); + }, + // ============== // FILES // ============== @@ -1982,12 +2004,16 @@ var ICEcoder = { // CTRL+numeric plus (New tab) } else if(key==107 && top.ICEcoder.ctrlKeyDown==true) { - top.ICEcoder.newTab(); + area=="content" + ? top.ICEcoder.duplicateLine() + : top.ICEcoder.newTab(); return false; // CTRL+numeric minus (Close tab) } else if(key==109 && top.ICEcoder.ctrlKeyDown==true) { - top.ICEcoder.closeTab(top.ICEcoder.selectedTab); + area=="content" + ? top.ICEcoder.removeLine() + : top.ICEcoder.closeTab(top.ICEcoder.selectedTab); return false; // CTRL+S (Save), CTRL+Shift+S (Save As)