Skip to content

Commit 5279a8a

Browse files
authored
fix: Fixed comment folding bugs for html (xml like languages) (#4910)
1 parent 6bff7b4 commit 5279a8a

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/edit_session/folding.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -593,12 +593,12 @@ function Folding() {
593593
if (dir != 1) {
594594
do {
595595
token = iterator.stepBackward();
596-
} while (token && re.test(token.type));
597-
iterator.stepForward();
596+
} while (token && re.test(token.type) && !/^comment.end/.test(token.type));
597+
token = iterator.stepForward();
598598
}
599599

600600
range.start.row = iterator.getCurrentTokenRow();
601-
range.start.column = iterator.getCurrentTokenColumn() + 2;
601+
range.start.column = iterator.getCurrentTokenColumn() + (/^comment.start/.test(token.type) ? token.value.length : 2);
602602

603603
iterator = new TokenIterator(this, row, column);
604604

@@ -613,13 +613,16 @@ function Folding() {
613613
} else if (iterator.$row > lastRow) {
614614
break;
615615
}
616-
} while (token && re.test(token.type));
616+
} while (token && re.test(token.type) && !/^comment.start/.test(token.type));
617617
token = iterator.stepBackward();
618618
} else
619619
token = iterator.getCurrentToken();
620620

621621
range.end.row = iterator.getCurrentTokenRow();
622-
range.end.column = iterator.getCurrentTokenColumn() + token.value.length - 2;
622+
range.end.column = iterator.getCurrentTokenColumn();
623+
if (!/^comment.end/.test(token.type)) {
624+
range.end.column += token.value.length - 2;
625+
}
623626
return range;
624627
}
625628
};

0 commit comments

Comments
 (0)