diff --git a/lib/ace/layer/marker.js b/lib/ace/layer/marker.js index 30f777ed..13be784a 100644 --- a/lib/ace/layer/marker.js +++ b/lib/ace/layer/marker.js @@ -61,6 +61,7 @@ var Marker = function(parentEl) { this.markers[id] = { range : range, type : type || "line", + renderer: typeof type == "function" ? type : null, clazz : clazz }; @@ -90,7 +91,12 @@ var Marker = function(parentEl) { range = range.toScreenRange(this.session); - if (range.isMultiLine()) { + if (marker.renderer) { + var top = this.$getTop(range.start.row, config); + var left = Math.round(range.start.column * config.characterWidth); + marker.renderer(html, range, left, top, config); + } + else if (range.isMultiLine()) { if (marker.type == "text") { this.drawTextMarker(html, range, marker.clazz, config); } else {