diff --git a/lib/ace/mouse/default_handlers.js b/lib/ace/mouse/default_handlers.js index a574e46a..85ce5e5c 100644 --- a/lib/ace/mouse/default_handlers.js +++ b/lib/ace/mouse/default_handlers.js @@ -259,7 +259,10 @@ function DefaultHandlers(editor) { // If the user dclicked on a fold, then expand it. var fold = editor.session.getFoldAt(pos.row, pos.column, 1); if (fold) { - editor.session.expandFold(fold); + if (ev.getAccelKey()) + editor.session.removeFold(fold); + else + editor.session.expandFold(fold); } else { editor.moveCursorToPosition(pos); diff --git a/lib/ace/mouse/mouse_event.js b/lib/ace/mouse/mouse_event.js index b8ffcf5c..bc66a9da 100644 --- a/lib/ace/mouse/mouse_event.js +++ b/lib/ace/mouse/mouse_event.js @@ -128,6 +128,10 @@ var MouseEvent = exports.MouseEvent = function(domEvent, editor) { return this.domEvent.shiftKey; }; + this.getAccelKey = function() { + return this.domEvent.ctrlKey || this.domEvent.metaKey ; + }; + }).call(MouseEvent.prototype); }); \ No newline at end of file