create outlining span for JsxFragment

This commit is contained in:
gb714us 2019-06-07 03:48:19 -07:00
parent 737cb45780
commit 7acca501b6

View File

@ -198,6 +198,8 @@ namespace ts.OutliningElementsCollector {
return spanForObjectOrArrayLiteral(n, SyntaxKind.OpenBracketToken);
case SyntaxKind.JsxElement:
return spanForJSXElement(<JsxElement>n);
case SyntaxKind.JsxFragment:
return spanForJSXFragment(<JsxFragment>n);
case SyntaxKind.JsxSelfClosingElement:
case SyntaxKind.JsxOpeningElement:
return spanForJSXAttributes((<JsxOpeningLikeElement>n).attributes);
@ -210,6 +212,12 @@ namespace ts.OutliningElementsCollector {
return createOutliningSpan(textSpan, OutliningSpanKind.Code, textSpan, /*autoCollapse*/ false, bannerText);
}
function spanForJSXFragment(node: JsxFragment): OutliningSpan | undefined {
const textSpan = createTextSpanFromBounds(node.openingFragment.getStart(sourceFile), node.closingFragment.getEnd());
const bannerText = "<>...</>";
return createOutliningSpan(textSpan, OutliningSpanKind.Code, textSpan, /*autoCollapse*/ false, bannerText);
}
function spanForJSXAttributes(node: JsxAttributes): OutliningSpan | undefined {
if (node.properties.length === 0) {
return undefined;