Skip to content

Commit cae42fd

Browse files
committed
Basic flat list of items
1 parent 13e845a commit cae42fd

2 files changed

Lines changed: 341 additions & 0 deletions

File tree

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
// @allowJs: true
4+
// @Filename: test.js
5+
//// // Should return NavigateTo items for foo & bar functions
6+
//// var bar = (function foo(a){
7+
//// let bar = function (){
8+
//// return true;
9+
//// }
10+
//// return bar;
11+
//// })(this);
12+
//// function dummy(){}
13+
14+
var expected = [
15+
{
16+
"text": "<global>",
17+
"kind": "module",
18+
"kindModifiers": "",
19+
"spans": [
20+
{
21+
"start": 0,
22+
"length": 184
23+
}
24+
],
25+
"childItems": [
26+
{
27+
"text": "bar",
28+
"kind": "var",
29+
"kindModifiers": "",
30+
"spans": [
31+
{
32+
"start": 62,
33+
"length": 102
34+
}
35+
],
36+
"childItems": [],
37+
"indent": 0,
38+
"bolded": false,
39+
"grayed": false
40+
},
41+
{
42+
"text": "dummy",
43+
"kind": "function",
44+
"kindModifiers": "",
45+
"spans": [
46+
{
47+
"start": 166,
48+
"length": 18
49+
}
50+
],
51+
"childItems": [],
52+
"indent": 0,
53+
"bolded": false,
54+
"grayed": false
55+
}
56+
],
57+
"indent": 0,
58+
"bolded": false,
59+
"grayed": false
60+
},
61+
{
62+
"text": "dummy",
63+
"kind": "function",
64+
"kindModifiers": "",
65+
"spans": [
66+
{
67+
"start": 166,
68+
"length": 18
69+
}
70+
],
71+
"childItems": [],
72+
"indent": 1,
73+
"bolded": false,
74+
"grayed": false
75+
}
76+
];
77+
78+
debug.printScriptLexicalStructureItems();
79+
debug.printNavigationItems();
80+
verify.getScriptLexicalStructureListContains("bar", "function");
Lines changed: 261 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,261 @@
1+
/// <reference path="fourslash.ts"/>
2+
3+
// @Filename: test.ts
4+
//// let v1 = true;
5+
//// var v2 = false;
6+
//// const c1 = true;
7+
////
8+
//// namespace N1 {
9+
//// var v3 = 10;
10+
//// export var v4 = true;
11+
////
12+
//// export function f1() {
13+
//// const v5 = 42;
14+
//// function inner1(){}
15+
//// }
16+
////
17+
//// function f2() {
18+
//// function inner2(){
19+
//// function inner3(){}
20+
//// }
21+
//// }
22+
//// }
23+
24+
25+
26+
debug.printScriptLexicalStructureItems();
27+
debug.printNavigationItems();
28+
verify.getScriptLexicalStructureListContains("N", "module");
29+
30+
var priorResult = [
31+
{
32+
"text": "<global>",
33+
"kind": "module",
34+
"kindModifiers": "",
35+
"spans": [
36+
{
37+
"start": 0,
38+
"length": 297
39+
}
40+
],
41+
"childItems": [
42+
{
43+
"text": "c1",
44+
"kind": "const",
45+
"kindModifiers": "",
46+
"spans": [
47+
{
48+
"start": 37,
49+
"length": 9
50+
}
51+
],
52+
"childItems": [],
53+
"indent": 0,
54+
"bolded": false,
55+
"grayed": false
56+
},
57+
{
58+
"text": "v1",
59+
"kind": "let",
60+
"kindModifiers": "",
61+
"spans": [
62+
{
63+
"start": 4,
64+
"length": 9
65+
}
66+
],
67+
"childItems": [],
68+
"indent": 0,
69+
"bolded": false,
70+
"grayed": false
71+
},
72+
{
73+
"text": "v2",
74+
"kind": "var",
75+
"kindModifiers": "",
76+
"spans": [
77+
{
78+
"start": 19,
79+
"length": 10
80+
}
81+
],
82+
"childItems": [],
83+
"indent": 0,
84+
"bolded": false,
85+
"grayed": false
86+
}
87+
],
88+
"indent": 0,
89+
"bolded": false,
90+
"grayed": false
91+
},
92+
{
93+
"text": "N1",
94+
"kind": "module",
95+
"kindModifiers": "",
96+
"spans": [
97+
{
98+
"start": 49,
99+
"length": 248
100+
}
101+
],
102+
"childItems": [
103+
{
104+
"text": "f1",
105+
"kind": "function",
106+
"kindModifiers": "export",
107+
"spans": [
108+
{
109+
"start": 116,
110+
"length": 79
111+
}
112+
],
113+
"childItems": [],
114+
"indent": 0,
115+
"bolded": false,
116+
"grayed": false
117+
},
118+
{
119+
"text": "f2",
120+
"kind": "function",
121+
"kindModifiers": "",
122+
"spans": [
123+
{
124+
"start": 205,
125+
"length": 90
126+
}
127+
],
128+
"childItems": [],
129+
"indent": 0,
130+
"bolded": false,
131+
"grayed": false
132+
},
133+
{
134+
"text": "v3",
135+
"kind": "var",
136+
"kindModifiers": "",
137+
"spans": [
138+
{
139+
"start": 72,
140+
"length": 7
141+
}
142+
],
143+
"childItems": [],
144+
"indent": 0,
145+
"bolded": false,
146+
"grayed": false
147+
},
148+
{
149+
"text": "v4",
150+
"kind": "var",
151+
"kindModifiers": "export",
152+
"spans": [
153+
{
154+
"start": 96,
155+
"length": 9
156+
}
157+
],
158+
"childItems": [],
159+
"indent": 0,
160+
"bolded": false,
161+
"grayed": false
162+
}
163+
],
164+
"indent": 1,
165+
"bolded": false,
166+
"grayed": false
167+
},
168+
{
169+
"text": "f1",
170+
"kind": "function",
171+
"kindModifiers": "export",
172+
"spans": [
173+
{
174+
"start": 116,
175+
"length": 79
176+
}
177+
],
178+
"childItems": [
179+
{
180+
"text": "inner1",
181+
"kind": "function",
182+
"kindModifiers": "",
183+
"spans": [
184+
{
185+
"start": 170,
186+
"length": 19
187+
}
188+
],
189+
"childItems": [],
190+
"indent": 0,
191+
"bolded": false,
192+
"grayed": false
193+
}
194+
],
195+
"indent": 2,
196+
"bolded": false,
197+
"grayed": false
198+
},
199+
{
200+
"text": "f2",
201+
"kind": "function",
202+
"kindModifiers": "",
203+
"spans": [
204+
{
205+
"start": 205,
206+
"length": 90
207+
}
208+
],
209+
"childItems": [
210+
{
211+
"text": "inner2",
212+
"kind": "function",
213+
"kindModifiers": "",
214+
"spans": [
215+
{
216+
"start": 229,
217+
"length": 60
218+
}
219+
],
220+
"childItems": [],
221+
"indent": 0,
222+
"bolded": false,
223+
"grayed": false
224+
}
225+
],
226+
"indent": 2,
227+
"bolded": false,
228+
"grayed": false
229+
},
230+
{
231+
"text": "inner2",
232+
"kind": "function",
233+
"kindModifiers": "",
234+
"spans": [
235+
{
236+
"start": 229,
237+
"length": 60
238+
}
239+
],
240+
"childItems": [
241+
{
242+
"text": "inner3",
243+
"kind": "function",
244+
"kindModifiers": "",
245+
"spans": [
246+
{
247+
"start": 260,
248+
"length": 19
249+
}
250+
],
251+
"childItems": [],
252+
"indent": 0,
253+
"bolded": false,
254+
"grayed": false
255+
}
256+
],
257+
"indent": 3,
258+
"bolded": false,
259+
"grayed": false
260+
}
261+
];

0 commit comments

Comments
 (0)