diff --git a/src/services/outliningElementsCollector.ts b/src/services/outliningElementsCollector.ts index c849a9a5a6b..568d75e542d 100644 --- a/src/services/outliningElementsCollector.ts +++ b/src/services/outliningElementsCollector.ts @@ -201,6 +201,8 @@ namespace ts.OutliningElementsCollector { case SyntaxKind.CaseBlock: case SyntaxKind.TypeLiteral: return spanForNode(n); + case SyntaxKind.TupleType: + return spanForNode(n, /*autoCollapse*/ false, /*useFullStart*/ !isTupleTypeNode(n.parent), SyntaxKind.OpenBracketToken); case SyntaxKind.CaseClause: case SyntaxKind.DefaultClause: return spanForNodeArray((n as CaseClause | DefaultClause).statements); diff --git a/tests/cases/fourslash/getOutliningForTupleType.ts b/tests/cases/fourslash/getOutliningForTupleType.ts new file mode 100644 index 00000000000..f63fb623ac4 --- /dev/null +++ b/tests/cases/fourslash/getOutliningForTupleType.ts @@ -0,0 +1,19 @@ +/// + +////type A =[| [ +//// number, +//// number, +//// number +////]|] +//// +////type B =[| [ +//// [|[ +//// [|[ +//// number, +//// number, +//// number +//// ]|] +//// ]|] +////]|] + +verify.outliningSpansInCurrentFile(test.ranges(), "code");