@@ -17,6 +17,7 @@ const QUERY = [
1717    "a b:" , 
1818    "a (b:" , 
1919    "_:" , 
20+     "_:a" , 
2021    "a-bb" , 
2122    "a>bb" , 
2223    "ab'" , 
@@ -48,7 +49,6 @@ const PARSED = [
4849        foundElems : 0 , 
4950        original : "<P>" , 
5051        returned : [ ] , 
51-         typeFilter : - 1 , 
5252        userQuery : "<p>" , 
5353        error : "Found generics without a path" , 
5454    } , 
@@ -57,7 +57,6 @@ const PARSED = [
5757        foundElems : 0 , 
5858        original : "-> <P>" , 
5959        returned : [ ] , 
60-         typeFilter : - 1 , 
6160        userQuery : "-> <p>" , 
6261        error : "Found generics without a path" , 
6362    } , 
@@ -66,7 +65,6 @@ const PARSED = [
6665        foundElems : 0 , 
6766        original : "a<\"P\">" , 
6867        returned : [ ] , 
69-         typeFilter : - 1 , 
7068        userQuery : "a<\"p\">" , 
7169        error : "Unexpected `\"` in generics" , 
7270    } , 
@@ -75,7 +73,6 @@ const PARSED = [
7573        foundElems : 0 , 
7674        original : "\"P\" \"P\"" , 
7775        returned : [ ] , 
78-         typeFilter : - 1 , 
7976        userQuery : "\"p\" \"p\"" , 
8077        error : "Cannot have more than one literal search element" , 
8178    } , 
@@ -84,7 +81,6 @@ const PARSED = [
8481        foundElems : 0 , 
8582        original : "P \"P\"" , 
8683        returned : [ ] , 
87-         typeFilter : - 1 , 
8884        userQuery : "p \"p\"" , 
8985        error : "Cannot use literal search when there is more than one element" , 
9086    } , 
@@ -93,7 +89,6 @@ const PARSED = [
9389        foundElems : 0 , 
9490        original : "\"p\" p" , 
9591        returned : [ ] , 
96-         typeFilter : - 1 , 
9792        userQuery : "\"p\" p" , 
9893        error : "You cannot have more than one element if you use quotes" , 
9994    } , 
@@ -102,7 +97,6 @@ const PARSED = [
10297        foundElems : 0 , 
10398        original : "\"const\": p" , 
10499        returned : [ ] , 
105-         typeFilter : - 1 , 
106100        userQuery : "\"const\": p" , 
107101        error : "You cannot use quotes on type filter" , 
108102    } , 
@@ -111,16 +105,14 @@ const PARSED = [
111105        foundElems : 0 , 
112106        original : "a<:a>" , 
113107        returned : [ ] , 
114-         typeFilter : - 1 , 
115108        userQuery : "a<:a>" , 
116-         error : "Unexpected `:` after `< `" , 
109+         error : "Expected type filter before `: `" , 
117110    } , 
118111    { 
119112        elems : [ ] , 
120113        foundElems : 0 , 
121114        original : "a<::a>" , 
122115        returned : [ ] , 
123-         typeFilter : - 1 , 
124116        userQuery : "a<::a>" , 
125117        error : "Unexpected `::`: paths cannot start with `::`" , 
126118    } , 
@@ -129,7 +121,6 @@ const PARSED = [
129121        foundElems : 0 , 
130122        original : "((a))" , 
131123        returned : [ ] , 
132-         typeFilter : - 1 , 
133124        userQuery : "((a))" , 
134125        error : "Unexpected `(`" , 
135126    } , 
@@ -138,7 +129,6 @@ const PARSED = [
138129        foundElems : 0 , 
139130        original : "(p -> p" , 
140131        returned : [ ] , 
141-         typeFilter : - 1 , 
142132        userQuery : "(p -> p" , 
143133        error : "Unexpected `(`" , 
144134    } , 
@@ -147,7 +137,6 @@ const PARSED = [
147137        foundElems : 0 , 
148138        original : "::a::b" , 
149139        returned : [ ] , 
150-         typeFilter : - 1 , 
151140        userQuery : "::a::b" , 
152141        error : "Paths cannot start with `::`" , 
153142    } , 
@@ -156,7 +145,6 @@ const PARSED = [
156145        foundElems : 0 , 
157146        original : "a::::b" , 
158147        returned : [ ] , 
159-         typeFilter : - 1 , 
160148        userQuery : "a::::b" , 
161149        error : "Unexpected `::::`" , 
162150    } , 
@@ -165,7 +153,6 @@ const PARSED = [
165153        foundElems : 0 , 
166154        original : "a::b::" , 
167155        returned : [ ] , 
168-         typeFilter : - 1 , 
169156        userQuery : "a::b::" , 
170157        error : "Paths cannot end with `::`" , 
171158    } , 
@@ -174,7 +161,6 @@ const PARSED = [
174161        foundElems : 0 , 
175162        original : ":a" , 
176163        returned : [ ] , 
177-         typeFilter : - 1 , 
178164        userQuery : ":a" , 
179165        error : "Expected type filter before `:`" , 
180166    } , 
@@ -183,16 +169,14 @@ const PARSED = [
183169        foundElems : 0 , 
184170        original : "a b:" , 
185171        returned : [ ] , 
186-         typeFilter : - 1 , 
187172        userQuery : "a b:" , 
188-         error : "Unexpected `:`" , 
173+         error : "Unexpected `:` (expected path after type filter) " , 
189174    } , 
190175    { 
191176        elems : [ ] , 
192177        foundElems : 0 , 
193178        original : "a (b:" , 
194179        returned : [ ] , 
195-         typeFilter : - 1 , 
196180        userQuery : "a (b:" , 
197181        error : "Unexpected `(`" , 
198182    } , 
@@ -201,16 +185,22 @@ const PARSED = [
201185        foundElems : 0 , 
202186        original : "_:" , 
203187        returned : [ ] , 
204-         typeFilter : - 1 , 
205188        userQuery : "_:" , 
189+         error : "Unexpected `:` (expected path after type filter)" , 
190+     } , 
191+     { 
192+         elems : [ ] , 
193+         foundElems : 0 , 
194+         original : "_:a" , 
195+         returned : [ ] , 
196+         userQuery : "_:a" , 
206197        error : "Unknown type filter `_`" , 
207198    } , 
208199    { 
209200        elems : [ ] , 
210201        foundElems : 0 , 
211202        original : "a-bb" , 
212203        returned : [ ] , 
213-         typeFilter : - 1 , 
214204        userQuery : "a-bb" , 
215205        error : "Unexpected `-` (did you mean `->`?)" , 
216206    } , 
@@ -219,7 +209,6 @@ const PARSED = [
219209        foundElems : 0 , 
220210        original : "a>bb" , 
221211        returned : [ ] , 
222-         typeFilter : - 1 , 
223212        userQuery : "a>bb" , 
224213        error : "Unexpected `>` (did you mean `->`?)" , 
225214    } , 
@@ -228,7 +217,6 @@ const PARSED = [
228217        foundElems : 0 , 
229218        original : "ab'" , 
230219        returned : [ ] , 
231-         typeFilter : - 1 , 
232220        userQuery : "ab'" , 
233221        error : "Unexpected `'`" , 
234222    } , 
@@ -237,7 +225,6 @@ const PARSED = [
237225        foundElems : 0 , 
238226        original : "a->" , 
239227        returned : [ ] , 
240-         typeFilter : - 1 , 
241228        userQuery : "a->" , 
242229        error : "Expected at least one item after `->`" , 
243230    } , 
@@ -246,7 +233,6 @@ const PARSED = [
246233        foundElems : 0 , 
247234        original : '"p" <a>' , 
248235        returned : [ ] , 
249-         typeFilter : - 1 , 
250236        userQuery : '"p" <a>' , 
251237        error : "Found generics without a path" , 
252238    } , 
@@ -255,7 +241,6 @@ const PARSED = [
255241        foundElems : 0 , 
256242        original : '"p" a<a>' , 
257243        returned : [ ] , 
258-         typeFilter : - 1 , 
259244        userQuery : '"p" a<a>' , 
260245        error : "You cannot have more than one element if you use quotes" , 
261246    } , 
@@ -264,7 +249,6 @@ const PARSED = [
264249        foundElems : 0 , 
265250        original : 'a,<' , 
266251        returned : [ ] , 
267-         typeFilter : - 1 , 
268252        userQuery : 'a,<' , 
269253        error : 'Found generics without a path' , 
270254    } , 
@@ -273,7 +257,6 @@ const PARSED = [
273257        foundElems : 0 , 
274258        original : 'aaaaa<>b' , 
275259        returned : [ ] , 
276-         typeFilter : - 1 , 
277260        userQuery : 'aaaaa<>b' , 
278261        error : 'Expected `,`, ` `, `:` or `->`, found `b`' , 
279262    } , 
@@ -282,16 +265,14 @@ const PARSED = [
282265        foundElems : 0 , 
283266        original : 'fn:aaaaa<>b' , 
284267        returned : [ ] , 
285-         typeFilter : - 1 , 
286268        userQuery : 'fn:aaaaa<>b' , 
287-         error : 'Expected `,`, ` ` or `->`, found `b`' , 
269+         error : 'Expected `,`, ` `, `:`  or `->`, found `b`' , 
288270    } , 
289271    { 
290272        elems : [ ] , 
291273        foundElems : 0 , 
292274        original : '->a<>b' , 
293275        returned : [ ] , 
294-         typeFilter : - 1 , 
295276        userQuery : '->a<>b' , 
296277        error : 'Expected `,` or ` `, found `b`' , 
297278    } , 
@@ -300,7 +281,6 @@ const PARSED = [
300281        foundElems : 0 , 
301282        original : 'a<->' , 
302283        returned : [ ] , 
303-         typeFilter : - 1 , 
304284        userQuery : 'a<->' , 
305285        error : 'Unexpected `-` after `<`' , 
306286    } , 
@@ -309,7 +289,6 @@ const PARSED = [
309289        foundElems : 0 , 
310290        original : 'a:: a' , 
311291        returned : [ ] , 
312-         typeFilter : - 1 , 
313292        userQuery : 'a:: a' , 
314293        error : 'Paths cannot end with `::`' , 
315294    } , 
@@ -318,7 +297,6 @@ const PARSED = [
318297        foundElems : 0 , 
319298        original : 'a ::a' , 
320299        returned : [ ] , 
321-         typeFilter : - 1 , 
322300        userQuery : 'a ::a' , 
323301        error : 'Paths cannot start with `::`' , 
324302    } , 
@@ -327,16 +305,14 @@ const PARSED = [
327305        foundElems : 0 , 
328306        original : "a<a>:" , 
329307        returned : [ ] , 
330-         typeFilter : - 1 , 
331308        userQuery : "a<a>:" , 
332-         error : 'Unexpected `:` ' , 
309+         error : 'Unexpected `<` in type filter ' , 
333310    } , 
334311    { 
335312        elems : [ ] , 
336313        foundElems : 0 , 
337314        original : "a<>:" , 
338315        returned : [ ] , 
339-         typeFilter : - 1 , 
340316        userQuery : "a<>:" , 
341317        error : 'Unexpected `<` in type filter' , 
342318    } , 
@@ -345,7 +321,6 @@ const PARSED = [
345321        foundElems : 0 , 
346322        original : "a,:" , 
347323        returned : [ ] , 
348-         typeFilter : - 1 , 
349324        userQuery : "a,:" , 
350325        error : 'Unexpected `,` in type filter' , 
351326    } , 
@@ -354,7 +329,6 @@ const PARSED = [
354329        foundElems : 0 , 
355330        original : "a<>  :" , 
356331        returned : [ ] , 
357-         typeFilter : - 1 , 
358332        userQuery : "a<>  :" , 
359333        error : 'Unexpected `<` in type filter' , 
360334    } , 
@@ -363,7 +337,6 @@ const PARSED = [
363337        foundElems : 0 , 
364338        original : "mod : :" , 
365339        returned : [ ] , 
366-         typeFilter : - 1 , 
367340        userQuery : "mod : :" , 
368341        error : 'Unexpected `:`' , 
369342    } , 
@@ -372,7 +345,6 @@ const PARSED = [
372345        foundElems : 0 , 
373346        original : "a!a" , 
374347        returned : [ ] , 
375-         typeFilter : - 1 , 
376348        userQuery : "a!a" , 
377349        error : 'Unexpected `!`: it can only be at the end of an ident' , 
378350    } , 
@@ -381,7 +353,6 @@ const PARSED = [
381353        foundElems : 0 , 
382354        original : "a!!" , 
383355        returned : [ ] , 
384-         typeFilter : - 1 , 
385356        userQuery : "a!!" , 
386357        error : 'Cannot have more than one `!` in an ident' , 
387358    } , 
@@ -390,7 +361,6 @@ const PARSED = [
390361        foundElems : 0 , 
391362        original : "mod:a!" , 
392363        returned : [ ] , 
393-         typeFilter : - 1 , 
394364        userQuery : "mod:a!" , 
395365        error : 'Invalid search type: macro `!` and `mod` both specified' , 
396366    } , 
@@ -399,7 +369,6 @@ const PARSED = [
399369        foundElems : 0 , 
400370        original : "a!::a" , 
401371        returned : [ ] , 
402-         typeFilter : - 1 , 
403372        userQuery : "a!::a" , 
404373        error : 'Cannot have associated items in macros' , 
405374    } , 
@@ -408,7 +377,6 @@ const PARSED = [
408377        foundElems : 0 , 
409378        original : "a<" , 
410379        returned : [ ] , 
411-         typeFilter : - 1 , 
412380        userQuery : "a<" , 
413381        error : "Unclosed `<`" , 
414382    } , 
0 commit comments