From a4e6e771060d389dba3968fb2f8853bcff4e2846 Mon Sep 17 00:00:00 2001 From: nightwing Date: Thu, 6 Jan 2011 16:07:02 +0400 Subject: [PATCH] marker.type=="text" should be one character longer to account for endofline character --- lib/ace/layer/marker.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/ace/layer/marker.js b/lib/ace/layer/marker.js index 5e3cc762..15ae3f51 100644 --- a/lib/ace/layer/marker.js +++ b/lib/ace/layer/marker.js @@ -106,7 +106,7 @@ var Marker = function(parentEl) { // selection start var row = range.start.row; var lineRange = new Range(row, range.start.column, row, this.doc.getLine(row).length); - this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig); + this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1); // selection end var row = range.end.row; @@ -116,8 +116,8 @@ var Marker = function(parentEl) { for (var row = range.start.row + 1; row < range.end.row; row++) { lineRange.start.row = row; lineRange.end.row = row; - lineRange.end.column = this.doc.getLine(row).length; - this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig); + lineRange.end.column = this.doc.getLine(row).length; // account for endofline characters + this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1); } }; @@ -163,11 +163,11 @@ var Marker = function(parentEl) { ); }; - this.drawSingleLineMarker = function(stringBuilder, range, clazz, layerConfig) { + this.drawSingleLineMarker = function(stringBuilder, range, clazz, layerConfig, extraLength) { var range = range.toScreenRange(this.doc); var height = layerConfig.lineHeight; - var width = Math.round((range.end.column - range.start.column) * layerConfig.characterWidth); + var width = Math.round((range.end.column + (extraLength || 0) - range.start.column) * layerConfig.characterWidth); var top = (range.start.row - layerConfig.firstRow) * layerConfig.lineHeight; var left = Math.round(range.start.column * layerConfig.characterWidth);