diff --git a/src/ace/Editor.js b/src/ace/Editor.js index d4e67cb8..8e640c51 100644 --- a/src/ace/Editor.js +++ b/src/ace/Editor.js @@ -275,9 +275,13 @@ var Editor = function(renderer, doc) { var pos = this.renderer.screenToTextCoordinates(pageX, pageY); pos.row = Math.max(0, Math.min(pos.row, this.doc.getLength()-1)); - this.moveCursorToPosition(pos); - if (!this.$clickSelection) - this.selection.setSelectionAnchor(pos.row, pos.column); + if (e.shiftKey) + this.selection.selectToPosition(pos) + else { + this.moveCursorToPosition(pos); + if (!this.$clickSelection) + this.selection.clearSelection(pos.row, pos.column); + } this.renderer.scrollCursorIntoView();