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
Debuggex
+
+
+ Slim Text
+
Sky Edit
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};
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);