Add outlining spans for case clauses (#37374)

* Add outlining spans for case clauses

* Update old test

* Update other test

* Update yet another of the same test
This commit is contained in:
Andrew Branch
2020-03-13 09:52:27 -08:00
committed by GitHub
parent ba39113ab9
commit db44231e38
5 changed files with 48 additions and 4 deletions

View File

@@ -200,6 +200,9 @@ namespace ts.OutliningElementsCollector {
case SyntaxKind.EnumDeclaration:
case SyntaxKind.CaseBlock:
return spanForNode(n);
case SyntaxKind.CaseClause:
case SyntaxKind.DefaultClause:
return spanForNodeArray((n as CaseClause | DefaultClause).statements);
case SyntaxKind.ObjectLiteralExpression:
return spanForObjectOrArrayLiteral(n);
case SyntaxKind.ArrayLiteralExpression:
@@ -256,6 +259,10 @@ namespace ts.OutliningElementsCollector {
const closeToken = findChildOfKind(n, close, sourceFile);
return openToken && closeToken && spanBetweenTokens(openToken, closeToken, hintSpanNode, sourceFile, autoCollapse, useFullStart);
}
function spanForNodeArray(nodeArray: NodeArray<Node>): OutliningSpan | undefined {
return nodeArray.length ? createOutliningSpan(createTextSpanFromRange(nodeArray), OutliningSpanKind.Code) : undefined;
}
}
function functionSpan(node: FunctionLike, body: Block, sourceFile: SourceFile): OutliningSpan | undefined {