From 6161518d8bb135d0916fc2fb986a56b54453ed21 Mon Sep 17 00:00:00 2001 From: Matt Pass Date: Sat, 16 Mar 2013 12:28:52 +0000 Subject: [PATCH] duplicateLine & removeLine functions Functions added to duplicate line and remove line. Triggered from CTRL+ + and CTRL+ - shortcuts whilst in editor area. --- lib/ice-coder.js | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) 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)