Skip to content

Commit e412f52

Browse files
author
Andy Hanson
committed
Include indent in navigation bar protocol
Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same.
1 parent 3853555 commit e412f52

4 files changed

Lines changed: 16 additions & 6 deletions

File tree

src/server/client.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -459,7 +459,7 @@ namespace ts.server {
459459
kindModifiers: item.kindModifiers || "",
460460
spans: item.spans.map(span => createTextSpanFromBounds(this.lineOffsetToPosition(fileName, span.start), this.lineOffsetToPosition(fileName, span.end))),
461461
childItems: this.decodeNavigationBarItems(item.childItems, fileName),
462-
indent: 0,
462+
indent: item.indent,
463463
bolded: false,
464464
grayed: false
465465
}));

src/server/protocol.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1242,6 +1242,11 @@ declare namespace ts.server.protocol {
12421242
* Optional children.
12431243
*/
12441244
childItems?: NavigationBarItem[];
1245+
1246+
/**
1247+
* Number of levels deep this item should appear.
1248+
*/
1249+
indent: number;
12451250
}
12461251

12471252
export interface NavBarResponse extends Response {

src/server/session.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,8 @@ namespace ts.server {
872872
start: compilerService.host.positionToLineOffset(fileName, span.start),
873873
end: compilerService.host.positionToLineOffset(fileName, ts.textSpanEnd(span))
874874
})),
875-
childItems: this.decorateNavigationBarItem(project, fileName, item.childItems)
875+
childItems: this.decorateNavigationBarItem(project, fileName, item.childItems),
876+
indent: item.indent
876877
}));
877878
}
878879

tests/cases/fourslash/server/navbar01.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ verify.navigationBar([
8585
"text": "prop",
8686
"kind": "property"
8787
}
88-
]
88+
],
89+
"indent": 1
8990
},
9091
{
9192
"text": "Shapes",
@@ -100,7 +101,8 @@ verify.navigationBar([
100101
"text": "Values",
101102
"kind": "enum"
102103
}
103-
]
104+
],
105+
"indent": 1
104106
},
105107
{
106108
"text": "Point",
@@ -143,7 +145,8 @@ verify.navigationBar([
143145
"kind": "property",
144146
"kindModifiers": "public"
145147
}
146-
]
148+
],
149+
"indent": 2
147150
},
148151
{
149152
"text": "Values",
@@ -161,6 +164,7 @@ verify.navigationBar([
161164
"text": "value3",
162165
"kind": "property"
163166
}
164-
]
167+
],
168+
"indent": 2
165169
}
166170
]);

0 commit comments

Comments
 (0)