From c653abf969c2a9becf4d70023c567a1fecbb8db9 Mon Sep 17 00:00:00 2001 From: nightwing Date: Mon, 4 Mar 2013 18:24:39 +0400 Subject: [PATCH 1/3] add link to slimtext --- index.html | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/index.html b/index.html index 8171285a..8895546a 100644 --- a/index.html +++ b/index.html @@ -923,7 +923,7 @@ oop.inherits(FoldMode, BaseFoldMode);
  • + style="position: relative; left: 2px; width: 96px;top: -8px;"> ACEView
  • @@ -939,6 +939,11 @@ oop.inherits(FoldMode, BaseFoldMode); Debuggex
  • +
  • + + Slim Text +
  • Sky Edit
  • From 01b7c4a866321f1bc5209d2257fe92960034c0fa Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 5 Mar 2013 00:03:11 +0400 Subject: [PATCH 2/3] do not throw error for key-chains (e.g Ctrl-B Command-Up) --- lib/ace/keyboard/hash_handler.js | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/lib/ace/keyboard/hash_handler.js b/lib/ace/keyboard/hash_handler.js index 9f0d7128..e56b0b13 100644 --- a/lib/ace/keyboard/hash_handler.js +++ b/lib/ace/keyboard/hash_handler.js @@ -121,10 +121,14 @@ function HashHandler(config, platform) { var key = typeof binding == "string" ? binding: binding[this.platform]; this.bindKey(key, command); }; - - // accepts keys in the form ctrl+Enter or ctrl-Enter - // keys without modifiers or shift only + + // accepts keys in the form ctrl+Enter or ctrl-Enter + // keys without modifiers or shift only this.parseKeys = function(keys) { + // todo support keychains + if (keys.indexOf(" ") != -1) + keys = keys.split(/\s+/).pop(); + var parts = keys.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(x){return x}); var key = parts.pop(); @@ -139,8 +143,11 @@ function HashHandler(config, platform) { var hashId = 0; for (var i = parts.length; i--;) { var modifier = keyUtil.KEY_MODS[parts[i]]; - if (modifier == null) - throw "invalid modifier " + parts[i] + " in " + keys; + if (modifier == null) { + if (typeof console != "undefined") + console.error("invalid modifier " + parts[i] + " in " + keys); + return false; + } hashId |= modifier; } return {key: key, hashId: hashId}; From dbab5f9210d1471a63126bbec1ef576f76a1b7ea Mon Sep 17 00:00:00 2001 From: nightwing Date: Tue, 5 Mar 2013 00:17:56 +0400 Subject: [PATCH 3/3] fix #956 Double tap on trackpad doesn't select word --- lib/ace/mouse/mouse_handler.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/lib/ace/mouse/mouse_handler.js b/lib/ace/mouse/mouse_handler.js index bdc0b604..f8804519 100644 --- a/lib/ace/mouse/mouse_handler.js +++ b/lib/ace/mouse/mouse_handler.js @@ -113,6 +113,7 @@ var MouseHandler = function(editor) { var onCaptureEnd = function(e) { clearInterval(timerId); + onCaptureInterval(); self[self.state + "End"] && self[self.state + "End"](e); self.$clickSelection = null; if (renderer.$keepTextAreaAtCursor == null) { @@ -124,14 +125,10 @@ var MouseHandler = function(editor) { var onCaptureInterval = function() { self[self.state] && self[self.state](); - } + }; if (useragent.isOldIE && ev.domEvent.type == "dblclick") { - setTimeout(function() { - onCaptureInterval(); - onCaptureEnd(ev.domEvent); - }); - return; + return setTimeout(function() {onCaptureEnd(ev.domEvent);}); } event.capture(this.editor.container, onMouseMove, onCaptureEnd);