UNPKG

tree-sitter-janet

Version:
1,264 lines 21.1 kB
[ { "type": "_expr", "named": true, "subtypes": [ { "type": "_identifier", "named": true }, { "type": "_literals", "named": true }, { "type": "_shorthand", "named": true }, { "type": "_special_forms", "named": true }, { "type": "_specials", "named": true }, { "type": "array", "named": true }, { "type": "peg_set", "named": true }, { "type": "sqr_array", "named": true }, { "type": "sqr_tuple", "named": true }, { "type": "struct", "named": true }, { "type": "table", "named": true }, { "type": "tuple", "named": true } ] }, { "type": "_identifier", "named": true, "subtypes": [ { "type": "keyword", "named": true }, { "type": "symbol", "named": true } ] }, { "type": "_literals", "named": true, "subtypes": [ { "type": "bool_literal", "named": true }, { "type": "buffer_literal", "named": true }, { "type": "long_buffer_literal", "named": true }, { "type": "long_str_literal", "named": true }, { "type": "nil_literal", "named": true }, { "type": "number_literal", "named": true }, { "type": "str_literal", "named": true } ] }, { "type": "_shorthand", "named": true, "subtypes": [ { "type": "short_fn", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true } ] }, { "type": "_special_forms", "named": true, "subtypes": [ { "type": "break", "named": true }, { "type": "def", "named": true }, { "type": "do", "named": true }, { "type": "fn", "named": true }, { "type": "if", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "set", "named": true }, { "type": "splice", "named": true }, { "type": "unquote", "named": true }, { "type": "upscope", "named": true }, { "type": "var", "named": true }, { "type": "while", "named": true } ] }, { "type": "_specials", "named": true, "subtypes": [ { "type": "extra_defs", "named": true } ] }, { "type": "array", "named": true, "fields": { "item": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "body", "named": true, "fields": { "form": { "multiple": true, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "bool_literal", "named": true, "fields": {} }, { "type": "break", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "def", "named": true, "fields": { "metadata": { "multiple": true, "required": false, "types": [ { "type": "metadata", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "do", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "body", "named": true } ] } } }, { "type": "extra_defs", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "body", "named": true } ] }, "metadata": { "multiple": true, "required": false, "types": [ { "type": "metadata", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "_identifier", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true }, { "type": "splice", "named": true }, { "type": "unquote", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "_identifier", "named": true }, { "type": "parameters", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true }, { "type": "splice", "named": true }, { "type": "tuple_parameters", "named": true }, { "type": "unquote", "named": true } ] } } }, { "type": "fn", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "body", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "_identifier", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true }, { "type": "splice", "named": true }, { "type": "unquote", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "_identifier", "named": true }, { "type": "parameters", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true }, { "type": "splice", "named": true }, { "type": "tuple_parameters", "named": true }, { "type": "unquote", "named": true } ] } } }, { "type": "if", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] }, "else": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] }, "then": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "long_buffer_literal", "named": true, "fields": {} }, { "type": "long_str_literal", "named": true, "fields": {} }, { "type": "metadata", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "keyword", "named": true }, { "type": "long_str_literal", "named": true }, { "type": "quasiquote", "named": true }, { "type": "quote", "named": true }, { "type": "short_quasiquote", "named": true }, { "type": "short_quote", "named": true }, { "type": "short_splice", "named": true }, { "type": "short_unquote", "named": true }, { "type": "splice", "named": true }, { "type": "str_literal", "named": true }, { "type": "struct", "named": true }, { "type": "unquote", "named": true } ] } }, { "type": "number_literal", "named": true, "fields": {} }, { "type": "parameters", "named": true, "fields": { "parameter": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "keys_marker", "named": true }, { "type": "optional_marker", "named": true }, { "type": "variadic_marker", "named": true } ] } }, { "type": "peg_set", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "long_str_literal", "named": true }, { "type": "quote", "named": true }, { "type": "short_quote", "named": true }, { "type": "str_literal", "named": true } ] } }, { "type": "quasiquote", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "quote", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "set", "named": true, "fields": { "l_value": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] }, "r_value": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "short_fn", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "short_quasiquote", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "short_quote", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "short_splice", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "short_unquote", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "source_file", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "splice", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "sqr_array", "named": true, "fields": { "item": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "sqr_tuple", "named": true, "fields": { "item": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "struct", "named": true, "fields": { "key": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] }, "value": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "table", "named": true, "fields": { "key": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] }, "value": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "tuple", "named": true, "fields": { "item": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "tuple_parameters", "named": true, "fields": { "parameter": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "keys_marker", "named": true }, { "type": "optional_marker", "named": true }, { "type": "variadic_marker", "named": true } ] } }, { "type": "unquote", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "_expr", "named": true } ] } }, { "type": "upscope", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "body", "named": true } ] } } }, { "type": "var", "named": true, "fields": { "metadata": { "multiple": true, "required": false, "types": [ { "type": "metadata", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "while", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "_expr", "named": true } ] }, "form": { "multiple": true, "required": false, "types": [ { "type": "_expr", "named": true } ] } } }, { "type": "'", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": ",", "named": false }, { "type": ";", "named": false }, { "type": "@(", "named": false }, { "type": "@[", "named": false }, { "type": "@{", "named": false }, { "type": "[", "named": false }, { "type": "]", "named": false }, { "type": "break", "named": false }, { "type": "buffer_literal", "named": true }, { "type": "def", "named": false }, { "type": "defmacro", "named": false }, { "type": "defmacro-", "named": false }, { "type": "defn", "named": false }, { "type": "defn-", "named": false }, { "type": "do", "named": false }, { "type": "false", "named": false }, { "type": "fn", "named": false }, { "type": "if", "named": false }, { "type": "keys_marker", "named": true }, { "type": "keyword", "named": true }, { "type": "line_comment", "named": true }, { "type": "nil_literal", "named": true }, { "type": "optional_marker", "named": true }, { "type": "quasiquote", "named": false }, { "type": "quote", "named": false }, { "type": "set", "named": false }, { "type": "splice", "named": false }, { "type": "str_literal", "named": true }, { "type": "symbol", "named": true }, { "type": "true", "named": false }, { "type": "unquote", "named": false }, { "type": "upscope", "named": false }, { "type": "var", "named": false }, { "type": "varfn", "named": false }, { "type": "varfn-", "named": false }, { "type": "variadic_marker", "named": true }, { "type": "while", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "}", "named": false }, { "type": "~", "named": false } ]