queries
c.h c.scm cpp.h cpp.scm cuda.h cuda.scm glsl.h glsl.scm go.h go.scm javascript.h javascript.scm kotlin.h kotlin.scm lua.h lua.scm odin.h odin.scm php.h php.scm python.h python.scm rust.h rust.scm tcl.h tcl.scm zig.h zig.scmtests
test.c test.cpp test.cu test.cuh test.glsl test.go test.js test.kt test.lua test.odin test.php test.py test.rs test.tcl test.zigvendor
tree-sitter
lib
src
alloc.c alloc.h array.h atomic.h clock.h error_costs.h get_changed_ranges.c get_changed_ranges.h host.h language.c language.h length.h lexer.c lexer.h lib.c node.c parser.c point.h query.c reduce_action.h reusable_node.h stack.c stack.h subtree.c subtree.h tree.c tree.h tree_cursor.c tree_cursor.h unicode.h
vendor/tree-sitter-lua/src/node-types.json
raw
1[
2 {
3 "type": "declaration",
4 "named": true,
5 "subtypes": [
6 {
7 "type": "function_declaration",
8 "named": true
9 },
10 {
11 "type": "variable_declaration",
12 "named": true
13 }
14 ]
15 },
16 {
17 "type": "expression",
18 "named": true,
19 "subtypes": [
20 {
21 "type": "binary_expression",
22 "named": true
23 },
24 {
25 "type": "false",
26 "named": true
27 },
28 {
29 "type": "function_call",
30 "named": true
31 },
32 {
33 "type": "function_definition",
34 "named": true
35 },
36 {
37 "type": "nil",
38 "named": true
39 },
40 {
41 "type": "number",
42 "named": true
43 },
44 {
45 "type": "parenthesized_expression",
46 "named": true
47 },
48 {
49 "type": "string",
50 "named": true
51 },
52 {
53 "type": "table_constructor",
54 "named": true
55 },
56 {
57 "type": "true",
58 "named": true
59 },
60 {
61 "type": "unary_expression",
62 "named": true
63 },
64 {
65 "type": "vararg_expression",
66 "named": true
67 },
68 {
69 "type": "variable",
70 "named": true
71 }
72 ]
73 },
74 {
75 "type": "statement",
76 "named": true,
77 "subtypes": [
78 {
79 "type": "assignment_statement",
80 "named": true
81 },
82 {
83 "type": "break_statement",
84 "named": true
85 },
86 {
87 "type": "declaration",
88 "named": true
89 },
90 {
91 "type": "do_statement",
92 "named": true
93 },
94 {
95 "type": "empty_statement",
96 "named": true
97 },
98 {
99 "type": "for_statement",
100 "named": true
101 },
102 {
103 "type": "function_call",
104 "named": true
105 },
106 {
107 "type": "goto_statement",
108 "named": true
109 },
110 {
111 "type": "if_statement",
112 "named": true
113 },
114 {
115 "type": "label_statement",
116 "named": true
117 },
118 {
119 "type": "repeat_statement",
120 "named": true
121 },
122 {
123 "type": "while_statement",
124 "named": true
125 }
126 ]
127 },
128 {
129 "type": "variable",
130 "named": true,
131 "subtypes": [
132 {
133 "type": "bracket_index_expression",
134 "named": true
135 },
136 {
137 "type": "dot_index_expression",
138 "named": true
139 },
140 {
141 "type": "identifier",
142 "named": true
143 }
144 ]
145 },
146 {
147 "type": "arguments",
148 "named": true,
149 "fields": {},
150 "children": {
151 "multiple": true,
152 "required": false,
153 "types": [
154 {
155 "type": "expression",
156 "named": true
157 }
158 ]
159 }
160 },
161 {
162 "type": "assignment_statement",
163 "named": true,
164 "fields": {},
165 "children": {
166 "multiple": true,
167 "required": true,
168 "types": [
169 {
170 "type": "expression_list",
171 "named": true
172 },
173 {
174 "type": "variable_list",
175 "named": true
176 }
177 ]
178 }
179 },
180 {
181 "type": "attribute",
182 "named": true,
183 "fields": {},
184 "children": {
185 "multiple": false,
186 "required": true,
187 "types": [
188 {
189 "type": "identifier",
190 "named": true
191 }
192 ]
193 }
194 },
195 {
196 "type": "binary_expression",
197 "named": true,
198 "fields": {
199 "left": {
200 "multiple": false,
201 "required": true,
202 "types": [
203 {
204 "type": "expression",
205 "named": true
206 }
207 ]
208 },
209 "right": {
210 "multiple": false,
211 "required": true,
212 "types": [
213 {
214 "type": "expression",
215 "named": true
216 }
217 ]
218 }
219 }
220 },
221 {
222 "type": "block",
223 "named": true,
224 "fields": {},
225 "children": {
226 "multiple": true,
227 "required": true,
228 "types": [
229 {
230 "type": "return_statement",
231 "named": true
232 },
233 {
234 "type": "statement",
235 "named": true
236 }
237 ]
238 }
239 },
240 {
241 "type": "bracket_index_expression",
242 "named": true,
243 "fields": {
244 "field": {
245 "multiple": false,
246 "required": true,
247 "types": [
248 {
249 "type": "expression",
250 "named": true
251 }
252 ]
253 },
254 "table": {
255 "multiple": false,
256 "required": true,
257 "types": [
258 {
259 "type": "function_call",
260 "named": true
261 },
262 {
263 "type": "parenthesized_expression",
264 "named": true
265 },
266 {
267 "type": "variable",
268 "named": true
269 }
270 ]
271 }
272 }
273 },
274 {
275 "type": "chunk",
276 "named": true,
277 "fields": {},
278 "children": {
279 "multiple": true,
280 "required": false,
281 "types": [
282 {
283 "type": "hash_bang_line",
284 "named": true
285 },
286 {
287 "type": "return_statement",
288 "named": true
289 },
290 {
291 "type": "statement",
292 "named": true
293 }
294 ]
295 }
296 },
297 {
298 "type": "comment",
299 "named": true,
300 "fields": {
301 "content": {
302 "multiple": false,
303 "required": true,
304 "types": [
305 {
306 "type": "comment_content",
307 "named": true
308 }
309 ]
310 },
311 "end": {
312 "multiple": false,
313 "required": false,
314 "types": [
315 {
316 "type": "]]",
317 "named": false
318 }
319 ]
320 },
321 "start": {
322 "multiple": false,
323 "required": true,
324 "types": [
325 {
326 "type": "--",
327 "named": false
328 },
329 {
330 "type": "[[",
331 "named": false
332 }
333 ]
334 }
335 }
336 },
337 {
338 "type": "do_statement",
339 "named": true,
340 "fields": {
341 "body": {
342 "multiple": false,
343 "required": false,
344 "types": [
345 {
346 "type": "block",
347 "named": true
348 }
349 ]
350 }
351 }
352 },
353 {
354 "type": "dot_index_expression",
355 "named": true,
356 "fields": {
357 "field": {
358 "multiple": false,
359 "required": true,
360 "types": [
361 {
362 "type": "identifier",
363 "named": true
364 }
365 ]
366 },
367 "table": {
368 "multiple": false,
369 "required": true,
370 "types": [
371 {
372 "type": "function_call",
373 "named": true
374 },
375 {
376 "type": "parenthesized_expression",
377 "named": true
378 },
379 {
380 "type": "variable",
381 "named": true
382 }
383 ]
384 }
385 }
386 },
387 {
388 "type": "else_statement",
389 "named": true,
390 "fields": {
391 "body": {
392 "multiple": false,
393 "required": false,
394 "types": [
395 {
396 "type": "block",
397 "named": true
398 }
399 ]
400 }
401 }
402 },
403 {
404 "type": "elseif_statement",
405 "named": true,
406 "fields": {
407 "condition": {
408 "multiple": false,
409 "required": true,
410 "types": [
411 {
412 "type": "expression",
413 "named": true
414 }
415 ]
416 },
417 "consequence": {
418 "multiple": false,
419 "required": false,
420 "types": [
421 {
422 "type": "block",
423 "named": true
424 }
425 ]
426 }
427 }
428 },
429 {
430 "type": "empty_statement",
431 "named": true,
432 "fields": {}
433 },
434 {
435 "type": "expression_list",
436 "named": true,
437 "fields": {
438 "value": {
439 "multiple": true,
440 "required": false,
441 "types": [
442 {
443 "type": "expression",
444 "named": true
445 }
446 ]
447 }
448 },
449 "children": {
450 "multiple": true,
451 "required": false,
452 "types": [
453 {
454 "type": "expression",
455 "named": true
456 }
457 ]
458 }
459 },
460 {
461 "type": "field",
462 "named": true,
463 "fields": {
464 "name": {
465 "multiple": false,
466 "required": false,
467 "types": [
468 {
469 "type": "expression",
470 "named": true
471 },
472 {
473 "type": "identifier",
474 "named": true
475 }
476 ]
477 },
478 "value": {
479 "multiple": false,
480 "required": true,
481 "types": [
482 {
483 "type": "expression",
484 "named": true
485 }
486 ]
487 }
488 }
489 },
490 {
491 "type": "for_generic_clause",
492 "named": true,
493 "fields": {},
494 "children": {
495 "multiple": true,
496 "required": true,
497 "types": [
498 {
499 "type": "expression_list",
500 "named": true
501 },
502 {
503 "type": "variable_list",
504 "named": true
505 }
506 ]
507 }
508 },
509 {
510 "type": "for_numeric_clause",
511 "named": true,
512 "fields": {
513 "end": {
514 "multiple": false,
515 "required": true,
516 "types": [
517 {
518 "type": "expression",
519 "named": true
520 }
521 ]
522 },
523 "name": {
524 "multiple": false,
525 "required": true,
526 "types": [
527 {
528 "type": "identifier",
529 "named": true
530 }
531 ]
532 },
533 "start": {
534 "multiple": false,
535 "required": true,
536 "types": [
537 {
538 "type": "expression",
539 "named": true
540 }
541 ]
542 },
543 "step": {
544 "multiple": false,
545 "required": false,
546 "types": [
547 {
548 "type": "expression",
549 "named": true
550 }
551 ]
552 }
553 }
554 },
555 {
556 "type": "for_statement",
557 "named": true,
558 "fields": {
559 "body": {
560 "multiple": false,
561 "required": false,
562 "types": [
563 {
564 "type": "block",
565 "named": true
566 }
567 ]
568 },
569 "clause": {
570 "multiple": false,
571 "required": true,
572 "types": [
573 {
574 "type": "for_generic_clause",
575 "named": true
576 },
577 {
578 "type": "for_numeric_clause",
579 "named": true
580 }
581 ]
582 }
583 }
584 },
585 {
586 "type": "function_call",
587 "named": true,
588 "fields": {
589 "arguments": {
590 "multiple": false,
591 "required": true,
592 "types": [
593 {
594 "type": "arguments",
595 "named": true
596 }
597 ]
598 },
599 "name": {
600 "multiple": false,
601 "required": true,
602 "types": [
603 {
604 "type": "function_call",
605 "named": true
606 },
607 {
608 "type": "method_index_expression",
609 "named": true
610 },
611 {
612 "type": "parenthesized_expression",
613 "named": true
614 },
615 {
616 "type": "variable",
617 "named": true
618 }
619 ]
620 }
621 }
622 },
623 {
624 "type": "function_declaration",
625 "named": true,
626 "fields": {
627 "body": {
628 "multiple": false,
629 "required": false,
630 "types": [
631 {
632 "type": "block",
633 "named": true
634 }
635 ]
636 },
637 "name": {
638 "multiple": false,
639 "required": true,
640 "types": [
641 {
642 "type": "dot_index_expression",
643 "named": true
644 },
645 {
646 "type": "identifier",
647 "named": true
648 },
649 {
650 "type": "method_index_expression",
651 "named": true
652 }
653 ]
654 },
655 "parameters": {
656 "multiple": false,
657 "required": true,
658 "types": [
659 {
660 "type": "parameters",
661 "named": true
662 }
663 ]
664 }
665 }
666 },
667 {
668 "type": "function_definition",
669 "named": true,
670 "fields": {
671 "body": {
672 "multiple": false,
673 "required": false,
674 "types": [
675 {
676 "type": "block",
677 "named": true
678 }
679 ]
680 },
681 "parameters": {
682 "multiple": false,
683 "required": true,
684 "types": [
685 {
686 "type": "parameters",
687 "named": true
688 }
689 ]
690 }
691 }
692 },
693 {
694 "type": "goto_statement",
695 "named": true,
696 "fields": {},
697 "children": {
698 "multiple": false,
699 "required": true,
700 "types": [
701 {
702 "type": "identifier",
703 "named": true
704 }
705 ]
706 }
707 },
708 {
709 "type": "if_statement",
710 "named": true,
711 "fields": {
712 "alternative": {
713 "multiple": true,
714 "required": false,
715 "types": [
716 {
717 "type": "else_statement",
718 "named": true
719 },
720 {
721 "type": "elseif_statement",
722 "named": true
723 }
724 ]
725 },
726 "condition": {
727 "multiple": false,
728 "required": true,
729 "types": [
730 {
731 "type": "expression",
732 "named": true
733 }
734 ]
735 },
736 "consequence": {
737 "multiple": false,
738 "required": false,
739 "types": [
740 {
741 "type": "block",
742 "named": true
743 }
744 ]
745 }
746 }
747 },
748 {
749 "type": "label_statement",
750 "named": true,
751 "fields": {},
752 "children": {
753 "multiple": false,
754 "required": true,
755 "types": [
756 {
757 "type": "identifier",
758 "named": true
759 }
760 ]
761 }
762 },
763 {
764 "type": "method_index_expression",
765 "named": true,
766 "fields": {
767 "method": {
768 "multiple": false,
769 "required": true,
770 "types": [
771 {
772 "type": "identifier",
773 "named": true
774 }
775 ]
776 },
777 "table": {
778 "multiple": false,
779 "required": true,
780 "types": [
781 {
782 "type": "function_call",
783 "named": true
784 },
785 {
786 "type": "parenthesized_expression",
787 "named": true
788 },
789 {
790 "type": "variable",
791 "named": true
792 }
793 ]
794 }
795 }
796 },
797 {
798 "type": "parameters",
799 "named": true,
800 "fields": {
801 "name": {
802 "multiple": true,
803 "required": false,
804 "types": [
805 {
806 "type": "identifier",
807 "named": true
808 }
809 ]
810 }
811 },
812 "children": {
813 "multiple": false,
814 "required": false,
815 "types": [
816 {
817 "type": "vararg_expression",
818 "named": true
819 }
820 ]
821 }
822 },
823 {
824 "type": "parenthesized_expression",
825 "named": true,
826 "fields": {},
827 "children": {
828 "multiple": false,
829 "required": true,
830 "types": [
831 {
832 "type": "expression",
833 "named": true
834 }
835 ]
836 }
837 },
838 {
839 "type": "repeat_statement",
840 "named": true,
841 "fields": {
842 "body": {
843 "multiple": false,
844 "required": false,
845 "types": [
846 {
847 "type": "block",
848 "named": true
849 }
850 ]
851 },
852 "condition": {
853 "multiple": false,
854 "required": true,
855 "types": [
856 {
857 "type": "expression",
858 "named": true
859 }
860 ]
861 }
862 }
863 },
864 {
865 "type": "return_statement",
866 "named": true,
867 "fields": {},
868 "children": {
869 "multiple": false,
870 "required": false,
871 "types": [
872 {
873 "type": "expression_list",
874 "named": true
875 }
876 ]
877 }
878 },
879 {
880 "type": "string",
881 "named": true,
882 "fields": {
883 "content": {
884 "multiple": false,
885 "required": false,
886 "types": [
887 {
888 "type": "string_content",
889 "named": true
890 }
891 ]
892 },
893 "end": {
894 "multiple": false,
895 "required": true,
896 "types": [
897 {
898 "type": "\"",
899 "named": false
900 },
901 {
902 "type": "'",
903 "named": false
904 },
905 {
906 "type": "]]",
907 "named": false
908 }
909 ]
910 },
911 "start": {
912 "multiple": false,
913 "required": true,
914 "types": [
915 {
916 "type": "\"",
917 "named": false
918 },
919 {
920 "type": "'",
921 "named": false
922 },
923 {
924 "type": "[[",
925 "named": false
926 }
927 ]
928 }
929 }
930 },
931 {
932 "type": "string_content",
933 "named": true,
934 "fields": {},
935 "children": {
936 "multiple": true,
937 "required": false,
938 "types": [
939 {
940 "type": "escape_sequence",
941 "named": true
942 }
943 ]
944 }
945 },
946 {
947 "type": "table_constructor",
948 "named": true,
949 "fields": {},
950 "children": {
951 "multiple": true,
952 "required": false,
953 "types": [
954 {
955 "type": "field",
956 "named": true
957 }
958 ]
959 }
960 },
961 {
962 "type": "unary_expression",
963 "named": true,
964 "fields": {
965 "operand": {
966 "multiple": false,
967 "required": true,
968 "types": [
969 {
970 "type": "expression",
971 "named": true
972 }
973 ]
974 }
975 }
976 },
977 {
978 "type": "variable_declaration",
979 "named": true,
980 "fields": {},
981 "children": {
982 "multiple": false,
983 "required": true,
984 "types": [
985 {
986 "type": "assignment_statement",
987 "named": true
988 },
989 {
990 "type": "variable_list",
991 "named": true
992 }
993 ]
994 }
995 },
996 {
997 "type": "variable_list",
998 "named": true,
999 "fields": {
1000 "attribute": {
1001 "multiple": true,
1002 "required": false,
1003 "types": [
1004 {
1005 "type": "attribute",
1006 "named": true
1007 }
1008 ]
1009 },
1010 "name": {
1011 "multiple": true,
1012 "required": true,
1013 "types": [
1014 {
1015 "type": "variable",
1016 "named": true
1017 }
1018 ]
1019 }
1020 }
1021 },
1022 {
1023 "type": "while_statement",
1024 "named": true,
1025 "fields": {
1026 "body": {
1027 "multiple": false,
1028 "required": false,
1029 "types": [
1030 {
1031 "type": "block",
1032 "named": true
1033 }
1034 ]
1035 },
1036 "condition": {
1037 "multiple": false,
1038 "required": true,
1039 "types": [
1040 {
1041 "type": "expression",
1042 "named": true
1043 }
1044 ]
1045 }
1046 }
1047 },
1048 {
1049 "type": "\"",
1050 "named": false
1051 },
1052 {
1053 "type": "#",
1054 "named": false
1055 },
1056 {
1057 "type": "%",
1058 "named": false
1059 },
1060 {
1061 "type": "&",
1062 "named": false
1063 },
1064 {
1065 "type": "'",
1066 "named": false
1067 },
1068 {
1069 "type": "(",
1070 "named": false
1071 },
1072 {
1073 "type": ")",
1074 "named": false
1075 },
1076 {
1077 "type": "*",
1078 "named": false
1079 },
1080 {
1081 "type": "+",
1082 "named": false
1083 },
1084 {
1085 "type": ",",
1086 "named": false
1087 },
1088 {
1089 "type": "-",
1090 "named": false
1091 },
1092 {
1093 "type": "--",
1094 "named": false
1095 },
1096 {
1097 "type": ".",
1098 "named": false
1099 },
1100 {
1101 "type": "..",
1102 "named": false
1103 },
1104 {
1105 "type": "/",
1106 "named": false
1107 },
1108 {
1109 "type": "//",
1110 "named": false
1111 },
1112 {
1113 "type": ":",
1114 "named": false
1115 },
1116 {
1117 "type": "::",
1118 "named": false
1119 },
1120 {
1121 "type": ";",
1122 "named": false
1123 },
1124 {
1125 "type": "<",
1126 "named": false
1127 },
1128 {
1129 "type": "<<",
1130 "named": false
1131 },
1132 {
1133 "type": "<=",
1134 "named": false
1135 },
1136 {
1137 "type": "=",
1138 "named": false
1139 },
1140 {
1141 "type": "==",
1142 "named": false
1143 },
1144 {
1145 "type": ">",
1146 "named": false
1147 },
1148 {
1149 "type": ">=",
1150 "named": false
1151 },
1152 {
1153 "type": ">>",
1154 "named": false
1155 },
1156 {
1157 "type": "[",
1158 "named": false
1159 },
1160 {
1161 "type": "[[",
1162 "named": false
1163 },
1164 {
1165 "type": "]",
1166 "named": false
1167 },
1168 {
1169 "type": "]]",
1170 "named": false
1171 },
1172 {
1173 "type": "^",
1174 "named": false
1175 },
1176 {
1177 "type": "and",
1178 "named": false
1179 },
1180 {
1181 "type": "break_statement",
1182 "named": true
1183 },
1184 {
1185 "type": "comment_content",
1186 "named": true
1187 },
1188 {
1189 "type": "do",
1190 "named": false
1191 },
1192 {
1193 "type": "else",
1194 "named": false
1195 },
1196 {
1197 "type": "elseif",
1198 "named": false
1199 },
1200 {
1201 "type": "end",
1202 "named": false
1203 },
1204 {
1205 "type": "escape_sequence",
1206 "named": true
1207 },
1208 {
1209 "type": "false",
1210 "named": true
1211 },
1212 {
1213 "type": "for",
1214 "named": false
1215 },
1216 {
1217 "type": "function",
1218 "named": false
1219 },
1220 {
1221 "type": "goto",
1222 "named": false
1223 },
1224 {
1225 "type": "hash_bang_line",
1226 "named": true
1227 },
1228 {
1229 "type": "identifier",
1230 "named": true
1231 },
1232 {
1233 "type": "if",
1234 "named": false
1235 },
1236 {
1237 "type": "in",
1238 "named": false
1239 },
1240 {
1241 "type": "local",
1242 "named": false
1243 },
1244 {
1245 "type": "nil",
1246 "named": true
1247 },
1248 {
1249 "type": "not",
1250 "named": false
1251 },
1252 {
1253 "type": "number",
1254 "named": true
1255 },
1256 {
1257 "type": "or",
1258 "named": false
1259 },
1260 {
1261 "type": "repeat",
1262 "named": false
1263 },
1264 {
1265 "type": "return",
1266 "named": false
1267 },
1268 {
1269 "type": "then",
1270 "named": false
1271 },
1272 {
1273 "type": "true",
1274 "named": true
1275 },
1276 {
1277 "type": "until",
1278 "named": false
1279 },
1280 {
1281 "type": "vararg_expression",
1282 "named": true
1283 },
1284 {
1285 "type": "while",
1286 "named": false
1287 },
1288 {
1289 "type": "{",
1290 "named": false
1291 },
1292 {
1293 "type": "|",
1294 "named": false
1295 },
1296 {
1297 "type": "}",
1298 "named": false
1299 },
1300 {
1301 "type": "~",
1302 "named": false
1303 },
1304 {
1305 "type": "~=",
1306 "named": false
1307 }
1308]