diff --git a/src/services/outliningElementsCollector.ts b/src/services/outliningElementsCollector.ts index dd71b48c49c73..62e1b2e6c81a6 100644 --- a/src/services/outliningElementsCollector.ts +++ b/src/services/outliningElementsCollector.ts @@ -200,6 +200,8 @@ namespace ts.OutliningElementsCollector { case SyntaxKind.EnumDeclaration: case SyntaxKind.CaseBlock: 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 0000000000000..f63fb623ac4ac --- /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");