Skip to content

Commit f1f6517

Browse files
committed
feat: editor option for indent guide highlighting
1 parent 17cce9b commit f1f6517

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+433
-35
lines changed

src/editor.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -509,8 +509,10 @@ Editor.$uid = 0;
509509
var ranges = session.getMatchingBracketRanges(self.getCursorPosition());
510510
if (!ranges && session.$mode.getMatching)
511511
ranges = session.$mode.getMatching(self.session);
512-
if (!ranges)
512+
if (!ranges) {
513+
if (self.getHighlightIndentGuides()) self.renderer.$textLayer.$highlightIndentGuide();
513514
return;
515+
}
514516

515517
var markerType = "ace_bracket";
516518
if (!Array.isArray(ranges)) {
@@ -533,6 +535,7 @@ Editor.$uid = 0;
533535
return session.addMarker(range, markerType, "text");
534536
})
535537
};
538+
if (self.getHighlightIndentGuides()) self.renderer.$textLayer.$highlightIndentGuide();
536539
}, 50);
537540
};
538541

@@ -1309,6 +1312,14 @@ Editor.$uid = 0;
13091312
return this.renderer.getDisplayIndentGuides();
13101313
};
13111314

1315+
this.setHighlightIndentGuides = function(highlight) {
1316+
this.renderer.setHighlightIndentGuides(highlight);
1317+
};
1318+
1319+
this.getHighlightIndentGuides = function() {
1320+
return this.renderer.getHighlightIndentGuides();
1321+
};
1322+
13121323
/**
13131324
* If `showPrintMargin` is set to `true`, the print margin is shown in the editor.
13141325
* @param {Boolean} showPrintMargin Specifies whether or not to show the print margin
@@ -2937,6 +2948,7 @@ config.defineOptions(Editor.prototype, "editor", {
29372948
fadeFoldWidgets: "renderer",
29382949
showFoldWidgets: "renderer",
29392950
displayIndentGuides: "renderer",
2951+
highlightIndentGuides: "renderer",
29402952
showGutter: "renderer",
29412953
fontSize: "renderer",
29422954
fontFamily: "renderer",

src/ext/options.js

+3
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ var optionGroups = {
126126
"Show Indent Guides": {
127127
path: "displayIndentGuides"
128128
},
129+
"Highlight Indent Guides": {
130+
path: "highlightIndentGuides"
131+
},
129132
"Persistent HScrollbar": {
130133
path: "hScrollBarAlwaysVisible"
131134
},

src/layer/text.js

+119
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,15 @@ var Text = function(parentEl) {
101101
return true;
102102
};
103103

104+
this.highlightIndentGuides = true;
105+
this.setHighlightIndentGuides = function (highlight) {
106+
if (this.displayIndentGuides == false) return false;
107+
if (this.highlightIndentGuides == highlight) return false;
108+
109+
this.highlightIndentGuides = highlight;
110+
return highlight;
111+
};
112+
104113
this.$tabStrings = [];
105114
this.onChangeTabSize =
106115
this.$computeTabString = function() {
@@ -250,6 +259,7 @@ var Text = function(parentEl) {
250259
if (config.lastRow > oldConfig.lastRow) {
251260
this.$lines.push(this.$renderLinesFragment(config, oldConfig.lastRow + 1, config.lastRow));
252261
}
262+
this.$highlightIndentGuide();
253263
};
254264

255265
this.$renderLinesFragment = function(config, firstRow, lastRow) {
@@ -404,16 +414,125 @@ var Text = function(parentEl) {
404414
for (var i=0; i<count; i++) {
405415
parent.appendChild(this.$tabStrings[" "].cloneNode(true));
406416
}
417+
this.$highlightIndentGuide();
407418
return value.substr(cols);
408419
} else if (value[0] == "\t") {
409420
for (var i=0; i<cols; i++) {
410421
parent.appendChild(this.$tabStrings["\t"].cloneNode(true));
411422
}
423+
this.$highlightIndentGuide();
412424
return value.substr(cols);
413425
}
426+
this.$highlightIndentGuide();
414427
return value;
415428
};
416429

430+
this.$highlightIndentGuide = function () {
431+
if (!this.highlightIndentGuides) return;
432+
433+
this.$highlightIndentGuideMarker = {
434+
indentLevel: undefined,
435+
start: undefined,
436+
end: undefined,
437+
dir: undefined
438+
};
439+
var lines = this.session.doc.$lines;
440+
var cursor = this.session.selection.getCursor();
441+
var initialIndent = /^\s*/.exec(this.session.doc.getLine(cursor.row))[0].length;
442+
var elementIndentLevel = Math.floor(initialIndent / this.tabSize);
443+
this.$highlightIndentGuideMarker = {
444+
indentLevel: elementIndentLevel,
445+
start: cursor.row
446+
};
447+
448+
var bracketHighlight = this.session.$bracketHighlight;
449+
if (bracketHighlight) {
450+
var ranges = this.session.$bracketHighlight.ranges;
451+
for (var i = 0; i < ranges.length; i++) {
452+
if (cursor.row != ranges[i].start.row) {
453+
this.$highlightIndentGuideMarker.end = ranges[i].start.row;
454+
if (cursor.row > ranges[i].start.row) {
455+
this.$highlightIndentGuideMarker.dir = -1;
456+
}
457+
else {
458+
this.$highlightIndentGuideMarker.dir = 1;
459+
}
460+
break;
461+
}
462+
}
463+
}
464+
465+
if (!this.$highlightIndentGuideMarker.end) {
466+
if (lines[cursor.row] !== '' && cursor.column === lines[cursor.row].length) {
467+
this.$highlightIndentGuideMarker.dir = 1;
468+
for (var i = cursor.row + 1; i < lines.length; i++) {
469+
var line = lines[i];
470+
var currentIndent = /^\s*/.exec(line)[0].length;
471+
if (line != '') {
472+
this.$highlightIndentGuideMarker.end = i;
473+
if (currentIndent <= initialIndent) break;
474+
}
475+
}
476+
}
477+
}
478+
479+
this.$renderHighlightIndentGuide();
480+
};
481+
482+
this.$clearActiveIndentGuide = function () {
483+
var cells = this.$lines.cells;
484+
for (var i = 0; i < cells.length; i++) {
485+
var cell = cells[i];
486+
var childNodes = cell.element.childNodes;
487+
if (childNodes.length > 0) {
488+
for (var j = 0; j < childNodes.length; j++) {
489+
if (childNodes[j].className && childNodes[j].className.search("ace_indent-guide-active") != -1) {
490+
childNodes[j].className = childNodes[j].className.replace(
491+
"ace_indent-guide-active", "ace_indent-guide");
492+
}
493+
}
494+
}
495+
}
496+
};
497+
498+
this.$setIndentGuideActive = function (cell, indentLevel) {
499+
var line = this.session.doc.getLine(cell.row);
500+
if (line != "") {
501+
var childNodes = cell.element.childNodes;
502+
if (childNodes && childNodes[indentLevel - 1] && childNodes[indentLevel - 1].className) {
503+
childNodes[indentLevel - 1].className = childNodes[indentLevel - 1].className.replace(
504+
"ace_indent-guide", "ace_indent-guide-active");
505+
}
506+
}
507+
}
508+
509+
this.$renderHighlightIndentGuide = function () {
510+
var cells = this.$lines.cells;
511+
this.$clearActiveIndentGuide();
512+
var indentLevel = this.$highlightIndentGuideMarker.indentLevel;
513+
if (indentLevel != 0) {
514+
if (this.$highlightIndentGuideMarker.dir == 1) {
515+
for (var i = 0; i < cells.length; i++) {
516+
var cell = cells[i];
517+
if (this.$highlightIndentGuideMarker.end && cell.row >= this.$highlightIndentGuideMarker.start
518+
+ 1) {
519+
if (cell.row >= this.$highlightIndentGuideMarker.end) break;
520+
this.$setIndentGuideActive(cell, indentLevel);
521+
}
522+
}
523+
}
524+
else {
525+
for (var i = cells.length - 1; i >= 0; i--) {
526+
var cell = cells[i];
527+
if (this.$highlightIndentGuideMarker.end && cell.row < this.$highlightIndentGuideMarker.start) {
528+
if (cell.row <= this.$highlightIndentGuideMarker.end) break;
529+
this.$setIndentGuideActive(cell, indentLevel);
530+
}
531+
}
532+
}
533+
}
534+
};
535+
417536
this.$createLineElement = function(parent) {
418537
var lineEl = this.dom.createElement("div");
419538
lineEl.className = "ace_line";

src/theme/ambiance.css.js

+4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/theme/chaos.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,12 @@ module.exports = `.ace-chaos .ace_gutter {
138138
}
139139
140140
.ace-chaos .ace_indent-guide {
141-
border-right:1px dotted #333;
141+
border-right:1px dotted #333333;
142+
margin-right:-1px;
143+
}
144+
145+
.ace-chaos .ace_indent-guide-active {
146+
border-right:1px dotted #afafaf;
142147
margin-right:-1px;
143148
}
144149

src/theme/chrome.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,9 @@ module.exports = `.ace-chrome .ace_gutter {
151151
152152
.ace-chrome .ace_indent-guide {
153153
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
154-
}`;
154+
}
155+
156+
.ace-chrome .ace_indent-guide-active {
157+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
158+
}
159+
`;

src/theme/cloud9_day.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -153,4 +153,9 @@ module.exports = `.ace-cloud9-day .ace_gutter {
153153
154154
.ace-cloud9-day .ace_indent-guide {
155155
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
156-
}`;
156+
}
157+
158+
.ace-cloud9-day .ace_indent-guide-active {
159+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
160+
}
161+
`;

src/theme/cloud9_night.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -139,4 +139,9 @@ module.exports = `.ace-cloud9-night .ace_gutter {
139139
140140
.ace-cloud9-night .ace_indent-guide {
141141
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y
142-
}`;
142+
}
143+
144+
.ace-cloud9-night .ace_indent-guide-active {
145+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
146+
}
147+
`;

src/theme/cloud9_night_low_color.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -127,4 +127,9 @@ module.exports = `.ace-cloud9-night-low-color .ace_gutter {
127127
128128
.ace-cloud9-night-low-color .ace_indent-guide {
129129
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYFBXV/8PAAJoAXX4kT2EAAAAAElFTkSuQmCC) right repeat-y
130-
}`;
130+
}
131+
132+
.ace-cloud9-night-low-color .ace_indent-guide-active {
133+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
134+
}
135+
`;

src/theme/clouds.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -108,4 +108,9 @@ module.exports = `.ace-clouds .ace_gutter {
108108
109109
.ace-clouds .ace_indent-guide {
110110
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y
111-
}`;
111+
}
112+
113+
.ace-clouds .ace_indent-guide-active {
114+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
115+
}
116+
`;

src/theme/clouds_midnight.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -109,4 +109,9 @@ module.exports = `.ace-clouds-midnight .ace_gutter {
109109
110110
.ace-clouds-midnight .ace_indent-guide {
111111
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y
112-
}`;
112+
}
113+
114+
.ace-clouds-midnight .ace_indent-guide-active {
115+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
116+
}
117+
`;

src/theme/cobalt.css.js

+4
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,8 @@ module.exports = `.ace-cobalt .ace_gutter {
131131
.ace-cobalt .ace_indent-guide {
132132
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHCLSvkPAAP3AgSDTRd4AAAAAElFTkSuQmCC) right repeat-y
133133
}
134+
135+
.ace-cobalt .ace_indent-guide-active {
136+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
137+
}
134138
`;

src/theme/crimson_editor.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -140,4 +140,9 @@ module.exports = `.ace-crimson-editor .ace_gutter {
140140
141141
.ace-crimson-editor .ace_indent-guide {
142142
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
143-
}`;
143+
}
144+
145+
.ace-crimson-editor .ace_indent-guide-active {
146+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
147+
}
148+
`;

src/theme/dawn.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -123,4 +123,9 @@ module.exports = `.ace-dawn .ace_gutter {
123123
124124
.ace-dawn .ace_indent-guide {
125125
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYLh/5+x/AAizA4hxNNsZAAAAAElFTkSuQmCC) right repeat-y
126-
}`;
126+
}
127+
128+
.ace-dawn .ace_indent-guide-active {
129+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
130+
}
131+
`;

src/theme/dracula.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -158,4 +158,9 @@ module.exports = `/*
158158
159159
.ace-dracula .ace_indent-guide {
160160
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNgYGBgYHB3d/8PAAOIAdULw8qMAAAAAElFTkSuQmCC) right repeat-y
161-
}`;
161+
}
162+
163+
.ace-dracula .ace_indent-guide-active {
164+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACAQMAAACjTyRkAAAABlBMVEUAAADCwsK76u2xAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjYGBoAAAAhACBGFbxzQAAAABJRU5ErkJggg==") right repeat-y;
165+
}
166+
`;

src/theme/dreamweaver.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -173,4 +173,9 @@ module.exports = `.ace-dreamweaver .ace_gutter {
173173
174174
.ace-dreamweaver .ace_indent-guide {
175175
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
176-
}`;
176+
}
177+
178+
.ace-dreamweaver .ace_indent-guide-active {
179+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
180+
}
181+
`;

src/theme/eclipse.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -110,4 +110,9 @@ module.exports = `.ace-eclipse .ace_gutter {
110110
111111
.ace-eclipse .ace_indent-guide {
112112
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
113-
}`;
113+
}
114+
115+
.ace-eclipse .ace_indent-guide-active {
116+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
117+
}
118+
`;

src/theme/github.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,9 @@ module.exports = `/* CSS style content from github's default pygments highlighte
121121
122122
.ace-github .ace_indent-guide {
123123
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
124-
}`;
124+
}
125+
126+
.ace-github .ace_indent-guide-active {
127+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
128+
}
129+
`;

src/theme/gob.css.js

+3
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,7 @@ module.exports = `.ace-gob .ace_gutter {
128128
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWMQERFpYLC1tf0PAAgOAnPnhxyiAAAAAElFTkSuQmCC) right repeat-y
129129
}
130130
131+
.ace-gob .ace_indent-guide-active {
132+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
133+
}
131134
`;

src/theme/gruvbox.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -92,4 +92,9 @@ module.exports = `.ace-gruvbox .ace_gutter-active-line {
9292
9393
.ace-gruvbox .ace_indent-guide {
9494
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAEklEQVQImWNQUFD4z6Crq/sfAAuYAuYl+7lfAAAAAElFTkSuQmCC") right repeat-y;
95-
}`;
95+
}
96+
97+
.ace-gruvbox .ace_indent-guide-active {
98+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
99+
}
100+
`;

src/theme/gruvbox_dark_hard.css.js

+6-1
Original file line numberDiff line numberDiff line change
@@ -156,4 +156,9 @@ module.exports = `.ace-gruvbox-dark-hard .ace_gutter {
156156
157157
.ace-gruvbox-dark-hard .ace_markup.ace_list {
158158
color: #83a598
159-
}`;
159+
}
160+
161+
.ace-gruvbox-dark-hard .ace_indent-guide-active {
162+
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
163+
}
164+
`;

0 commit comments

Comments
 (0)