@@ -481,7 +481,7 @@ class Text {
481
481
var ranges = this . session . $bracketHighlight . ranges ;
482
482
for ( var i = 0 ; i < ranges . length ; i ++ ) {
483
483
if ( cursor . row !== ranges [ i ] . start . row ) {
484
- this . $highlightIndentGuideMarker . end = ranges [ i ] . start . row ;
484
+ this . $highlightIndentGuideMarker . end = ranges [ i ] . start . row + 1 ;
485
485
if ( cursor . row > ranges [ i ] . start . row ) {
486
486
this . $highlightIndentGuideMarker . dir = - 1 ;
487
487
}
@@ -511,25 +511,25 @@ class Text {
511
511
}
512
512
513
513
$clearActiveIndentGuide ( ) {
514
- var cells = this . $lines . cells ;
515
- for ( var i = 0 ; i < cells . length ; i ++ ) {
516
- var cell = cells [ i ] ;
517
- var childNodes = cell . element . childNodes ;
518
- if ( childNodes . length > 0 ) {
519
- for ( var j = 0 ; j < childNodes . length ; j ++ ) {
520
- if ( childNodes [ j ] . classList && childNodes [ j ] . classList . contains ( "ace_indent-guide-active" ) ) {
521
- childNodes [ j ] . classList . remove ( "ace_indent-guide-active" ) ;
522
- break ;
523
- }
524
- }
525
- }
526
- }
514
+ var activeIndentGuides = this . element . querySelectorAll ( ".ace_indent-guide-active" ) ;
515
+ activeIndentGuides . forEach ( el => {
516
+ el . classList . remove ( "ace_indent-guide-active" ) ;
517
+ } ) ;
527
518
}
528
519
529
520
$setIndentGuideActive ( cell , indentLevel ) {
530
521
var line = this . session . doc . getLine ( cell . row ) ;
531
522
if ( line !== "" ) {
532
- var childNodes = cell . element . childNodes ;
523
+ let element = cell . element ;
524
+ if ( cell . element . classList && cell . element . classList . contains ( "ace_line_group" ) ) {
525
+ if ( cell . element . childNodes . length > 0 ) {
526
+ element = cell . element . childNodes [ 0 ] ;
527
+ }
528
+ else {
529
+ return ;
530
+ }
531
+ }
532
+ var childNodes = element . childNodes ;
533
533
if ( childNodes ) {
534
534
let node = childNodes [ indentLevel - 1 ] ;
535
535
if ( node && node . classList && node . classList . contains ( "ace_indent-guide" ) ) node . classList . add (
@@ -558,7 +558,7 @@ class Text {
558
558
for ( var i = cells . length - 1 ; i >= 0 ; i -- ) {
559
559
var cell = cells [ i ] ;
560
560
if ( this . $highlightIndentGuideMarker . end && cell . row < this . $highlightIndentGuideMarker . start ) {
561
- if ( cell . row <= this . $highlightIndentGuideMarker . end ) break ;
561
+ if ( cell . row < this . $highlightIndentGuideMarker . end ) break ;
562
562
this . $setIndentGuideActive ( cell , indentLevel ) ;
563
563
}
564
564
}
0 commit comments