mirror of
https://github.com/microsoft/TypeScript.git
synced 2026-02-05 08:11:30 -06:00
Stop including region delimiter comments in comment fold regions
This commit is contained in:
parent
30db30055f
commit
699186083b
@ -63,7 +63,7 @@ namespace ts.OutliningElementsCollector {
|
||||
const currentLineStart = lineStarts[i];
|
||||
const lineEnd = i + 1 === lineStarts.length ? sourceFile.getEnd() : lineStarts[i + 1] - 1;
|
||||
const lineText = sourceFile.text.substring(currentLineStart, lineEnd);
|
||||
const result = lineText.match(/^\s*\/\/\s*#(end)?region(?:\s+(.*))?(?:\r)?$/);
|
||||
const result = isRegionDelimiter(lineText);
|
||||
if (!result || isInComment(sourceFile, currentLineStart)) {
|
||||
continue;
|
||||
}
|
||||
@ -83,16 +83,29 @@ namespace ts.OutliningElementsCollector {
|
||||
}
|
||||
}
|
||||
|
||||
function isRegionDelimiter(lineText: string) {
|
||||
return lineText.match(/^\s*\/\/\s*#(end)?region(?:\s+(.*))?(?:\r)?$/);
|
||||
}
|
||||
|
||||
function addOutliningForLeadingCommentsForNode(n: Node, sourceFile: SourceFile, cancellationToken: CancellationToken, out: Push<OutliningSpan>): void {
|
||||
const comments = getLeadingCommentRangesOfNode(n, sourceFile);
|
||||
if (!comments) return;
|
||||
let firstSingleLineCommentStart = -1;
|
||||
let lastSingleLineCommentEnd = -1;
|
||||
let singleLineCommentCount = 0;
|
||||
const sourceText = sourceFile.getFullText();
|
||||
for (const { kind, pos, end } of comments) {
|
||||
cancellationToken.throwIfCancellationRequested();
|
||||
switch (kind) {
|
||||
case SyntaxKind.SingleLineCommentTrivia:
|
||||
// never fold region delimiters into single-line comment regions
|
||||
const commentText = sourceText.slice(pos, end);
|
||||
if (isRegionDelimiter(commentText)) {
|
||||
combineAndAddMultipleSingleLineComments();
|
||||
singleLineCommentCount = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
// For single line comments, combine consecutive ones (2 or more) into
|
||||
// a single span from the start of the first till the end of the last
|
||||
if (singleLineCommentCount === 0) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user