From d6de4ee6aad7d6a46864f0dea4e62c97a5843a20 Mon Sep 17 00:00:00 2001 From: nightwing Date: Wed, 4 Sep 2013 18:37:08 +0400 Subject: [PATCH] fix popup selection marker --- lib/ace/autocomplete/popup.js | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/ace/autocomplete/popup.js b/lib/ace/autocomplete/popup.js index be341212..ff93a8c5 100644 --- a/lib/ace/autocomplete/popup.js +++ b/lib/ace/autocomplete/popup.js @@ -77,7 +77,7 @@ var AcePopup = function(parentNode) { popup.renderer.$maxLines = 8; popup.renderer.$keepTextAreaAtCursor = false; - popup.setHighlightActiveLine(true); + popup.setHighlightActiveLine(false); // set default highlight color popup.session.highlight(""); popup.session.$searchHighlight.clazz = "ace_highlight-marker"; @@ -86,11 +86,14 @@ var AcePopup = function(parentNode) { var pos = e.getDocumentPosition(); popup.moveCursorToPosition(pos); popup.selection.clearSelection(); + selectionMarker.start.row = selectionMarker.end.row = pos.row; e.stop(); }); var lastMouseEvent; - var hoverMarker = new Range(-1,0,-1,Infinity); + var hoverMarker = new Range(-1,0,-1,Infinity); + var selectionMarker = new Range(-1,0,-1,Infinity); + selectionMarker.id = popup.session.addMarker(selectionMarker, "ace_active-line", "fullLine"); popup.setSelectOnHover = function(val) { if (!val) { hoverMarker.id = popup.session.addMarker(hoverMarker, "ace_line-hover", "fullLine"); @@ -184,16 +187,14 @@ var AcePopup = function(parentNode) { popup.getData = function(row) { return popup.data[row]; }; - - popup.getRow = function() { - var line = this.getCursorPosition().row; - if (line == 0 && !this.getHighlightActiveLine()) - line = -1; - return line; + + popup.getRow = function() { + return selectionMarker.start.row; }; popup.setRow = function(line) { - popup.setHighlightActiveLine(line != -1); popup.selection.clearSelection(); + selectionMarker.start.row = selectionMarker.end.row = line || 0; + popup.session._emit("changeBackMarker"); popup.moveCursorTo(line || 0, 0); }; @@ -229,6 +230,7 @@ var AcePopup = function(parentNode) { dom.importCssString("\ .ace_autocomplete.ace-tm .ace_marker-layer .ace_active-line {\ background-color: #CAD6FA;\ + z-index: 1;\ }\ .ace_autocomplete.ace-tm .ace_line-hover {\ border: 1px solid #abbffe;\