From 710b784556abe8c828ccd4a7613436add632713c Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 26 May 2016 17:42:53 +0000 Subject: [PATCH 1/2] minimal fix for ime in terminal --- node_modules/ace/lib/ace/keyboard/textinput.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/node_modules/ace/lib/ace/keyboard/textinput.js b/node_modules/ace/lib/ace/keyboard/textinput.js index 1a57b2e6..e3ceb314 100644 --- a/node_modules/ace/lib/ace/keyboard/textinput.js +++ b/node_modules/ace/lib/ace/keyboard/textinput.js @@ -364,10 +364,11 @@ var TextInput = function(parentNode, host) { return; // console.log("onCompositionStart", inComposition) inComposition = {}; + inComposition.canUndo = host.session.$undoManager; host.onCompositionStart(); setTimeout(onCompositionUpdate, 0); host.on("mousedown", onCompositionEnd); - if (!host.selection.isEmpty()) { + if (inComposition.canUndo && !host.selection.isEmpty()) { host.insert(""); host.session.markUndoGroup(); host.selection.clearSelection(); @@ -385,7 +386,8 @@ var TextInput = function(parentNode, host) { host.onCompositionUpdate(val); if (inComposition.lastValue) host.undo(); - inComposition.lastValue = val; + if (inComposition.canUndo) + inComposition.lastValue = val; if (inComposition.lastValue) { var r = host.selection.getRange(); host.insert(inComposition.lastValue); From 40605976ec6082bf3be4e8f622b39378bad963ad Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 26 May 2016 20:43:09 +0000 Subject: [PATCH 2/2] fix typo --- node_modules/ace/lib/ace/edit_session.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/node_modules/ace/lib/ace/edit_session.js b/node_modules/ace/lib/ace/edit_session.js index 92b76ecc..f80b2079 100644 --- a/node_modules/ace/lib/ace/edit_session.js +++ b/node_modules/ace/lib/ace/edit_session.js @@ -148,7 +148,7 @@ var EditSession = function(text, mode) { this.$undoSelect = true; this.$foldData = []; - this.id = "session" + EditSession.$uid; + this.id = "session" + (++EditSession.$uid); this.$foldData.toString = function() { return this.join("\n"); };