From 52d32e55972d1c918fd7586d217efbf2bca6b904 Mon Sep 17 00:00:00 2001 From: Alexander T Date: Tue, 21 Apr 2020 12:57:26 +0300 Subject: [PATCH] Add outlining spans for object destructuring elements --- src/services/outliningElementsCollector.ts | 1 + .../getOutliningForObjectDestructuring.ts | 39 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 tests/cases/fourslash/getOutliningForObjectDestructuring.ts diff --git a/src/services/outliningElementsCollector.ts b/src/services/outliningElementsCollector.ts index dd71b48c49c73..3d35f78343eb8 100644 --- a/src/services/outliningElementsCollector.ts +++ b/src/services/outliningElementsCollector.ts @@ -199,6 +199,7 @@ namespace ts.OutliningElementsCollector { case SyntaxKind.InterfaceDeclaration: case SyntaxKind.EnumDeclaration: case SyntaxKind.CaseBlock: + case SyntaxKind.ObjectBindingPattern: return spanForNode(n); case SyntaxKind.CaseClause: case SyntaxKind.DefaultClause: diff --git a/tests/cases/fourslash/getOutliningForObjectDestructuring.ts b/tests/cases/fourslash/getOutliningForObjectDestructuring.ts new file mode 100644 index 0000000000000..bc9ce6ba2cde3 --- /dev/null +++ b/tests/cases/fourslash/getOutliningForObjectDestructuring.ts @@ -0,0 +1,39 @@ +/// + +////const[| { +//// a, +//// b, +//// c +////}|] =[| { +//// a: 1, +//// b: 2, +//// c: 3 +////}|] + +////const[| { +//// a:[| { +//// a_1, +//// a_2, +//// a_3:[| { +//// a_3_1, +//// a_3_2, +//// a_3_3, +//// }|], +//// }|], +//// b, +//// c +////}|] =[| { +//// a:[| { +//// a_1: 1, +//// a_2: 2, +//// a_3:[| { +//// a_3_1: 1, +//// a_3_2: 1, +//// a_3_3: 1 +//// }|], +//// }|], +//// b: 2, +//// c: 3 +////}|] + +verify.outliningSpansInCurrentFile(test.ranges(), "code");