Skip to content

Commit 0038b0b

Browse files
authored
Merge pull request #31815 from gb714us/bug/31631
create outlining span for JsxFragment
2 parents 1397dc9 + 29f9958 commit 0038b0b

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

src/services/outliningElementsCollector.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,8 @@ namespace ts.OutliningElementsCollector {
198198
return spanForObjectOrArrayLiteral(n, SyntaxKind.OpenBracketToken);
199199
case SyntaxKind.JsxElement:
200200
return spanForJSXElement(<JsxElement>n);
201+
case SyntaxKind.JsxFragment:
202+
return spanForJSXFragment(<JsxFragment>n);
201203
case SyntaxKind.JsxSelfClosingElement:
202204
case SyntaxKind.JsxOpeningElement:
203205
return spanForJSXAttributes((<JsxOpeningLikeElement>n).attributes);
@@ -210,6 +212,12 @@ namespace ts.OutliningElementsCollector {
210212
return createOutliningSpan(textSpan, OutliningSpanKind.Code, textSpan, /*autoCollapse*/ false, bannerText);
211213
}
212214

215+
function spanForJSXFragment(node: JsxFragment): OutliningSpan | undefined {
216+
const textSpan = createTextSpanFromBounds(node.openingFragment.getStart(sourceFile), node.closingFragment.getEnd());
217+
const bannerText = "<>...</>";
218+
return createOutliningSpan(textSpan, OutliningSpanKind.Code, textSpan, /*autoCollapse*/ false, bannerText);
219+
}
220+
213221
function spanForJSXAttributes(node: JsxAttributes): OutliningSpan | undefined {
214222
if (node.properties.length === 0) {
215223
return undefined;

tests/cases/fourslash/getJSXOutliningSpans.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,12 @@
2525
//// md: 5
2626
//// }|]}|]
2727
//// />
28+
//// [|<>
29+
//// text
30+
//// </>|]
2831
//// </div>|]
2932
//// );
3033
//// }|]
3134
////}|]
3235

33-
verify.outliningSpansInCurrentFile(test.ranges(), "code");
36+
verify.outliningSpansInCurrentFile(test.ranges(), "code");

0 commit comments

Comments
 (0)