From 544cb0949903350357df48e6bf47eaee46c8df17 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 13 Apr 2012 21:06:18 +0400 Subject: [PATCH 1/6] fix typo in split.js --- lib/ace/split.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lib/ace/split.js b/lib/ace/split.js index 068d5269..fc5ae07d 100644 --- a/lib/ace/split.js +++ b/lib/ace/split.js @@ -56,7 +56,7 @@ var Split = function(container, theme, splits) { this.$splits = 0; this.$editorCSS = ""; this.$editors = []; - this.$oriantation = this.BESIDE; + this.$orientation = this.BESIDE; this.setSplits(splits || 1); this.$cEditor = this.$editors[0]; @@ -213,15 +213,15 @@ var Split = function(container, theme, splits) { return session; }; - this.getOriantation = function() { - return this.$oriantation; + this.getOrientation = function() { + return this.$orientation; }; - this.setOriantation = function(oriantation) { - if (this.$oriantation == oriantation) { + this.setOrientation = function(orientation) { + if (this.$orientation == orientation) { return; } - this.$oriantation = oriantation; + this.$orientation = orientation; this.resize(); }; @@ -230,7 +230,7 @@ var Split = function(container, theme, splits) { var height = this.$container.clientHeight; var editor; - if (this.$oriantation == this.BESIDE) { + if (this.$orientation == this.BESIDE) { var editorWidth = width / this.$splits; for (var i = 0; i < this.$splits; i++) { editor = this.$editors[i]; From 6a781ad9d3ebb0c7db0fb4f753bc3a2f13cbc2b5 Mon Sep 17 00:00:00 2001 From: nightwing Date: Fri, 13 Apr 2012 22:14:45 +0400 Subject: [PATCH 2/6] show crosshair cursor when alt is pressed --- lib/ace/multi_select.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index 716bc0fc..b1104775 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -623,6 +623,33 @@ function MultiSelect(editor) { editor.on("mousedown", onMouseDown); editor.commands.addCommands(exports.commands.defaultCommands); + + addAltCursorListeners(editor); +} + +function addAltCursorListeners(editor){ + var el = editor.textInput.getElement(); + var altCursor = false; + var contentEl = editor.renderer.content; + el.addEventListener("keydown", function(e) { + if (e.keyCode == 18 && !(e.ctrlKey || e.shiftKey || e.metaKey)) { + if (!altCursor) { + contentEl.style.cursor = "crosshair"; + altCursor = true; + } + } else if (altCursor) { + contentEl.style.cursor = ""; + } + }); + + el.addEventListener("keyup", reset); + el.addEventListener("blur", reset); + function reset() { + if (altCursor) { + contentEl.style.cursor = ""; + altCursor = false; + } + } } exports.MultiSelect = MultiSelect; From d91c9f707464c04c5f5b7ee1d0083ba90d3cbf84 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 14 Apr 2012 15:54:23 +0400 Subject: [PATCH 3/6] use 1px cursor only in multiselect mode --- lib/ace/css/editor.css | 4 ++++ lib/ace/theme/clouds.js | 2 +- lib/ace/theme/clouds_midnight.js | 2 +- lib/ace/theme/cobalt.js | 2 +- lib/ace/theme/dawn.js | 2 +- lib/ace/theme/eclipse.js | 2 +- lib/ace/theme/idle_fingers.js | 2 +- lib/ace/theme/kr_theme.js | 2 +- lib/ace/theme/merbivore.js | 2 +- lib/ace/theme/merbivore_soft.js | 2 +- lib/ace/theme/mono_industrial.js | 2 +- lib/ace/theme/monokai.js | 2 +- lib/ace/theme/pastel_on_dark.js | 2 +- lib/ace/theme/solarized_dark.js | 2 +- lib/ace/theme/solarized_light.js | 2 +- lib/ace/theme/textmate.js | 2 +- lib/ace/theme/tomorrow.js | 2 +- lib/ace/theme/tomorrow_night.js | 2 +- lib/ace/theme/tomorrow_night_blue.js | 2 +- lib/ace/theme/tomorrow_night_bright.js | 2 +- lib/ace/theme/tomorrow_night_eighties.js | 2 +- lib/ace/theme/twilight.js | 2 +- lib/ace/theme/vibrant_ink.js | 2 +- 23 files changed, 26 insertions(+), 22 deletions(-) diff --git a/lib/ace/css/editor.css b/lib/ace/css/editor.css index 0d596052..83c21130 100644 --- a/lib/ace/css/editor.css +++ b/lib/ace/css/editor.css @@ -151,6 +151,10 @@ opacity: 0.2; } +.ace_editor.multiselect .ace_cursor { + border-left-width: 1px; +} + .ace_line { white-space: nowrap; } diff --git a/lib/ace/theme/clouds.js b/lib/ace/theme/clouds.js index 8d827f97..389c82e3 100644 --- a/lib/ace/theme/clouds.js +++ b/lib/ace/theme/clouds.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-clouds .ace_cursor {\ - border-left: 1px solid #000000;\ + border-left: 2px solid #000000;\ }\ \ .ace-clouds .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/clouds_midnight.js b/lib/ace/theme/clouds_midnight.js index be2673c7..de6fea2e 100644 --- a/lib/ace/theme/clouds_midnight.js +++ b/lib/ace/theme/clouds_midnight.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-clouds-midnight .ace_cursor {\ - border-left: 1px solid #7DA5DC;\ + border-left: 2px solid #7DA5DC;\ }\ \ .ace-clouds-midnight .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/cobalt.js b/lib/ace/theme/cobalt.js index b678a5cf..4631fef2 100644 --- a/lib/ace/theme/cobalt.js +++ b/lib/ace/theme/cobalt.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-cobalt .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-cobalt .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/dawn.js b/lib/ace/theme/dawn.js index 9fd4f22f..3967d959 100644 --- a/lib/ace/theme/dawn.js +++ b/lib/ace/theme/dawn.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-dawn .ace_cursor {\ - border-left: 1px solid #000000;\ + border-left: 2px solid #000000;\ }\ \ .ace-dawn .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/eclipse.js b/lib/ace/theme/eclipse.js index ed2376a0..8f0bc7c9 100644 --- a/lib/ace/theme/eclipse.js +++ b/lib/ace/theme/eclipse.js @@ -67,7 +67,7 @@ exports.cssText = ".ace-eclipse .ace_editor {\ }\ \ .ace-eclipse .ace_cursor {\ - border-left: 1px solid black;\ + border-left: 2px solid black;\ }\ \ .ace-eclipse .ace_line .ace_storage,\ diff --git a/lib/ace/theme/idle_fingers.js b/lib/ace/theme/idle_fingers.js index b1acacb7..551e7811 100644 --- a/lib/ace/theme/idle_fingers.js +++ b/lib/ace/theme/idle_fingers.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-idle-fingers .ace_cursor {\ - border-left: 1px solid #91FF00;\ + border-left: 2px solid #91FF00;\ }\ \ .ace-idle-fingers .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/kr_theme.js b/lib/ace/theme/kr_theme.js index bcd31b67..56313438 100644 --- a/lib/ace/theme/kr_theme.js +++ b/lib/ace/theme/kr_theme.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-kr-theme .ace_cursor {\ - border-left: 1px solid #FF9900;\ + border-left: 2px solid #FF9900;\ }\ \ .ace-kr-theme .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/merbivore.js b/lib/ace/theme/merbivore.js index 59a78d6d..ddc09766 100644 --- a/lib/ace/theme/merbivore.js +++ b/lib/ace/theme/merbivore.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-merbivore .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-merbivore .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/merbivore_soft.js b/lib/ace/theme/merbivore_soft.js index 1ffedc14..d684ff63 100644 --- a/lib/ace/theme/merbivore_soft.js +++ b/lib/ace/theme/merbivore_soft.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-merbivore-soft .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-merbivore-soft .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/mono_industrial.js b/lib/ace/theme/mono_industrial.js index 85c7313a..ae4274cb 100644 --- a/lib/ace/theme/mono_industrial.js +++ b/lib/ace/theme/mono_industrial.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-mono-industrial .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-mono-industrial .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/monokai.js b/lib/ace/theme/monokai.js index 98782855..2794ff45 100644 --- a/lib/ace/theme/monokai.js +++ b/lib/ace/theme/monokai.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-monokai .ace_cursor {\ - border-left: 1px solid #F8F8F0;\ + border-left: 2px solid #F8F8F0;\ }\ \ .ace-monokai .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/pastel_on_dark.js b/lib/ace/theme/pastel_on_dark.js index 3a95a36f..d0ad8bd6 100644 --- a/lib/ace/theme/pastel_on_dark.js +++ b/lib/ace/theme/pastel_on_dark.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-pastel-on-dark .ace_cursor {\ - border-left: 1px solid #A7A7A7;\ + border-left: 2px solid #A7A7A7;\ }\ \ .ace-pastel-on-dark .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/solarized_dark.js b/lib/ace/theme/solarized_dark.js index 159f17bd..fcf0ae42 100644 --- a/lib/ace/theme/solarized_dark.js +++ b/lib/ace/theme/solarized_dark.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-solarized-dark .ace_cursor {\ - border-left: 1px solid #D30102;\ + border-left: 2px solid #D30102;\ }\ \ .ace-solarized-dark .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/solarized_light.js b/lib/ace/theme/solarized_light.js index dc635f59..9191e556 100644 --- a/lib/ace/theme/solarized_light.js +++ b/lib/ace/theme/solarized_light.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-solarized-light .ace_cursor {\ - border-left: 1px solid #000000;\ + border-left: 2px solid #000000;\ }\ \ .ace-solarized-light .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/textmate.js b/lib/ace/theme/textmate.js index 71885186..8931e60a 100644 --- a/lib/ace/theme/textmate.js +++ b/lib/ace/theme/textmate.js @@ -67,7 +67,7 @@ exports.cssText = ".ace-tm .ace_editor {\ }\ \ .ace-tm .ace_cursor {\ - border-left: 1px solid black;\ + border-left: 2px solid black;\ }\ \ .ace-tm .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/tomorrow.js b/lib/ace/theme/tomorrow.js index 3447769a..a891f06a 100644 --- a/lib/ace/theme/tomorrow.js +++ b/lib/ace/theme/tomorrow.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-tomorrow .ace_cursor {\ - border-left: 1px solid #AEAFAD;\ + border-left: 2px solid #AEAFAD;\ }\ \ .ace-tomorrow .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/tomorrow_night.js b/lib/ace/theme/tomorrow_night.js index 141912de..bb8e3a21 100644 --- a/lib/ace/theme/tomorrow_night.js +++ b/lib/ace/theme/tomorrow_night.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-tomorrow-night .ace_cursor {\ - border-left: 1px solid #AEAFAD;\ + border-left: 2px solid #AEAFAD;\ }\ \ .ace-tomorrow-night .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/tomorrow_night_blue.js b/lib/ace/theme/tomorrow_night_blue.js index eae9284d..f8e5c0d8 100644 --- a/lib/ace/theme/tomorrow_night_blue.js +++ b/lib/ace/theme/tomorrow_night_blue.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-tomorrow-night-blue .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-tomorrow-night-blue .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/tomorrow_night_bright.js b/lib/ace/theme/tomorrow_night_bright.js index a03817d8..d294cbfc 100644 --- a/lib/ace/theme/tomorrow_night_bright.js +++ b/lib/ace/theme/tomorrow_night_bright.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-tomorrow-night-bright .ace_cursor {\ - border-left: 1px solid #9F9F9F;\ + border-left: 2px solid #9F9F9F;\ }\ \ .ace-tomorrow-night-bright .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/tomorrow_night_eighties.js b/lib/ace/theme/tomorrow_night_eighties.js index 09ad2839..6c4efbd8 100644 --- a/lib/ace/theme/tomorrow_night_eighties.js +++ b/lib/ace/theme/tomorrow_night_eighties.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-tomorrow-night-eighties .ace_cursor {\ - border-left: 1px solid #CCCCCC;\ + border-left: 2px solid #CCCCCC;\ }\ \ .ace-tomorrow-night-eighties .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/twilight.js b/lib/ace/theme/twilight.js index 633ab66c..728b9922 100644 --- a/lib/ace/theme/twilight.js +++ b/lib/ace/theme/twilight.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-twilight .ace_cursor {\ - border-left: 1px solid #A7A7A7;\ + border-left: 2px solid #A7A7A7;\ }\ \ .ace-twilight .ace_cursor.ace_overwrite {\ diff --git a/lib/ace/theme/vibrant_ink.js b/lib/ace/theme/vibrant_ink.js index 4d497b03..6ac945c3 100644 --- a/lib/ace/theme/vibrant_ink.js +++ b/lib/ace/theme/vibrant_ink.js @@ -68,7 +68,7 @@ exports.cssText = "\ }\ \ .ace-vibrant-ink .ace_cursor {\ - border-left: 1px solid #FFFFFF;\ + border-left: 2px solid #FFFFFF;\ }\ \ .ace-vibrant-ink .ace_cursor.ace_overwrite {\ From b77c3b348ebcb2b6e952262f4c2605a58a6d5287 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sat, 14 Apr 2012 18:20:27 +0400 Subject: [PATCH 4/6] fix bug with ghost selections --- lib/ace/layer/cursor.js | 2 +- lib/ace/mouse/multi_select_handler.js | 14 ++++++--- lib/ace/multi_select.js | 22 ++++++++------ lib/ace/multi_select_test.js | 41 +++++++++++++++++++++------ lib/ace/range.js | 2 +- 5 files changed, 58 insertions(+), 23 deletions(-) diff --git a/lib/ace/layer/cursor.js b/lib/ace/layer/cursor.js index 36a085f3..38b4adbc 100644 --- a/lib/ace/layer/cursor.js +++ b/lib/ace/layer/cursor.js @@ -141,7 +141,7 @@ var Cursor = function(parentEl) { this.update = function(config) { this.config = config; - if (this.session.selectionMarkerCount > 1) { + if (this.session.selectionMarkerCount > 0) { var selections = this.session.$selectionMarkers; var i = 0, sel, cursorIndex = 0; diff --git a/lib/ace/mouse/multi_select_handler.js b/lib/ace/mouse/multi_select_handler.js index fa5def23..34db2cda 100644 --- a/lib/ace/mouse/multi_select_handler.js +++ b/lib/ace/mouse/multi_select_handler.js @@ -111,9 +111,10 @@ function onMouseDown(e) { if (!isMultiSelect && inSelection) return; // dragging - if (!isMultiSelect) - selection.addRange(selection.toOrientedRange()); - + if (!isMultiSelect) { + var range = selection.toOrientedRange(); + editor.addSelectionMarker(range); + } var oldRange = selection.rangeList.rangeAtPoint(pos); @@ -122,8 +123,13 @@ function onMouseDown(e) { if (oldRange && tmpSel.isEmpty() && isSamePoint(oldRange.cursor, tmpSel.cursor)) selection.substractPoint(tmpSel.cursor); - else + else { + if (range) { + editor.removeSelectionMarkers([range]); + selection.addRange(range); + } selection.addRange(tmpSel); + } }); } else if (!shift && alt && button == 0) { diff --git a/lib/ace/multi_select.js b/lib/ace/multi_select.js index b1104775..0586a722 100644 --- a/lib/ace/multi_select.js +++ b/lib/ace/multi_select.js @@ -77,17 +77,21 @@ var EditSession = require("./edit_session").EditSession; * adds a range to selection entering multiselect mode if necessary **/ this.addRange = function(range) { - if (!this.inMultiSelectMode && this.rangeCount == 0) { - var oldRange = this.toOrientedRange(); - if (!range || !range.isEqual(oldRange)) { - this.rangeList.add(oldRange); - this.$onAddRange(oldRange); - } - } - if (!range) return; + if (!this.inMultiSelectMode && this.rangeCount == 0) { + var oldRange = this.toOrientedRange(); + if (range.intersects(oldRange)) { + this.fromOrientedRange(range); + return; + } + + this.rangeList.add(oldRange); + this.$onAddRange(oldRange); + } + + if (!range.cursor) range.cursor = range.end; @@ -98,7 +102,7 @@ var EditSession = require("./edit_session").EditSession; if (removed.length) this.$onRemoveRange(removed); - if (this.rangeCount > 0 && !this.inMultiSelectMode) { + if (this.rangeCount > 1 && !this.inMultiSelectMode) { this._emit("multiSelect"); this.inMultiSelectMode = true; this.session.$undoSelect = false; diff --git a/lib/ace/multi_select_test.js b/lib/ace/multi_select_test.js index 571202f0..8e0a4013 100644 --- a/lib/ace/multi_select_test.js +++ b/lib/ace/multi_select_test.js @@ -57,7 +57,7 @@ var exec = function(name, times, args) { } while(times --> 1) }; var testRanges = function(str) { - assert.equal(editor.selection.getAllRanges()+"", str); + assert.equal(editor.selection.getAllRanges() + "", str + ""); } module.exports = { @@ -78,8 +78,8 @@ module.exports = { assert.ok(editor.inMultiSelectMode); assert.equal(editor.selection.getAllRanges().length, 4); - var newLine = editor.session.getDocument().getNewLineCharacter(); - var copyText = "wwww".split("").join(newLine); + var newLine = editor.session.getDocument().getNewLineCharacter(); + var copyText = "wwww".split("").join(newLine); assert.equal(editor.getCopyText(), copyText); exec("insertstring", 1, "a"); exec("backspace", 2); @@ -120,14 +120,11 @@ module.exports = { " wtt.w", " wtt.w" ]); - var editor = new Editor(new MockRenderer(), doc); + editor = new Editor(new MockRenderer(), doc); MultiSelect(editor); editor.selectMoreLines(1) - assert.equal( - editor.selection.getAllRanges()+"", - "Range: [0/0] -> [0/0],Range: [1/0] -> [1/0]" - ); + testRanges("Range: [0/0] -> [0/0],Range: [1/0] -> [1/0]"); assert.ok(editor.inMultiSelectMode); var doc2 = new EditSession(["w1"]); @@ -136,6 +133,34 @@ module.exports = { editor.setSession(doc); assert.ok(editor.inMultiSelectMode); + }, + + "test: multiselect addRange": function() { + var doc = new EditSession([ + "w1.w2", + " wtt.w", + " wtt.w" + ]); + editor = new Editor(new MockRenderer(), doc); + MultiSelect(editor); + var selection = editor.selection; + + var range1 = new Range(0, 2, 0, 4); + editor.selection.fromOrientedRange(range1); + + var range2 = new Range(0, 3, 0, 4); + selection.addRange(range2); + assert.ok(!editor.inMultiSelectMode); + assert.ok(range2.isEqual(editor.selection.getRange())); + + var range3 = new Range(0, 1, 0, 1); + selection.addRange(range3); + assert.ok(editor.inMultiSelectMode); + testRanges([range3, range2]); + + var range4 = new Range(0, 0, 4, 0); + selection.addRange(range4); + assert.ok(!editor.inMultiSelectMode); } }; diff --git a/lib/ace/range.js b/lib/ace/range.js index 163979fe..0947d9f4 100644 --- a/lib/ace/range.js +++ b/lib/ace/range.js @@ -117,7 +117,7 @@ var Range = function(startRow, startColumn, endRow, endColumn) { return this.comparePoint(range.start) == 0 && this.comparePoint(range.end) == 0; } - this.intersectsRange = function(range) { + this.intersects = function(range) { var cmp = this.compareRange(range); return (cmp == -1 || cmp == 0 || cmp == 1); } From 04e83afee1747c0effc1735d7d58f4d1547bd01a Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 15 Apr 2012 13:58:08 +0400 Subject: [PATCH 5/6] do not redraw whole editor when only one cursor is visible --- lib/ace/layer/cursor.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ace/layer/cursor.js b/lib/ace/layer/cursor.js index 38b4adbc..1c55d7a8 100644 --- a/lib/ace/layer/cursor.js +++ b/lib/ace/layer/cursor.js @@ -107,11 +107,11 @@ var Cursor = function(parentEl) { if (!this.isVisible) return; - var element = this.element; + var element = this.cursors.length == 1 ? this.cursor : this.element; this.blinkId = setInterval(function() { element.style.visibility = "hidden"; setTimeout(function() { - element.style.visibility = "visible"; + element.style.visibility = ""; }, 400); }, 1000); }; From 31a6da4b5f871c48878e6721d9f50c8fc0efde48 Mon Sep 17 00:00:00 2001 From: nightwing Date: Sun, 15 Apr 2012 14:45:08 +0400 Subject: [PATCH 6/6] fix Multiple selections only show 1 selection --- lib/ace/layer/marker.js | 6 +++--- lib/ace/theme/clouds.js | 5 +++++ lib/ace/theme/clouds_midnight.js | 5 +++++ lib/ace/theme/cobalt.js | 5 +++++ lib/ace/theme/dawn.js | 5 +++++ lib/ace/theme/idle_fingers.js | 5 +++++ lib/ace/theme/kr_theme.js | 5 +++++ lib/ace/theme/merbivore.js | 5 +++++ lib/ace/theme/merbivore_soft.js | 5 +++++ lib/ace/theme/mono_industrial.js | 5 +++++ lib/ace/theme/monokai.js | 5 +++++ lib/ace/theme/pastel_on_dark.js | 5 +++++ lib/ace/theme/solarized_dark.js | 5 +++++ lib/ace/theme/solarized_light.js | 5 +++++ lib/ace/theme/textmate.js | 5 ++++- lib/ace/theme/tomorrow.js | 5 +++++ lib/ace/theme/tomorrow_night.js | 5 +++++ lib/ace/theme/tomorrow_night_blue.js | 5 +++++ lib/ace/theme/tomorrow_night_bright.js | 5 +++++ lib/ace/theme/tomorrow_night_eighties.js | 5 +++++ lib/ace/theme/twilight.js | 5 +++++ lib/ace/theme/vibrant_ink.js | 5 +++++ tool/Theme.tmpl.css | 7 ++++++- 23 files changed, 113 insertions(+), 5 deletions(-) diff --git a/lib/ace/layer/marker.js b/lib/ace/layer/marker.js index ac361249..741a271d 100644 --- a/lib/ace/layer/marker.js +++ b/lib/ace/layer/marker.js @@ -99,7 +99,7 @@ var Marker = function(parentEl) { } else { this.drawSingleLineMarker( - html, range, marker.clazz, config, + html, range, marker.clazz + " start", config, null, marker.type ); } @@ -122,7 +122,7 @@ var Marker = function(parentEl) { row, range.start.column, row, this.session.getScreenLastRowColumn(row) ); - this.drawSingleLineMarker(stringBuilder, lineRange, clazz, layerConfig, 1, "text"); + this.drawSingleLineMarker(stringBuilder, lineRange, clazz + " start", layerConfig, 1, "text"); // selection end row = range.end.row; @@ -152,7 +152,7 @@ var Marker = function(parentEl) { ); stringBuilder.push( - "