tree-sitter-tony
Version:
Tony grammar for tree-sitter
1,702 lines • 33.5 kB
JSON
[
{
"type": "conditional_type",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"constraint": {
"multiple": true,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "curried_type",
"named": true,
"fields": {
"from": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"to": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "declaration",
"named": true,
"fields": {
"member": {
"multiple": true,
"required": true,
"types": [
{
"type": "declaration_member",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "raw_string",
"named": true
}
]
}
}
},
{
"type": "declaration_member",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier_pattern_name",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "identifier_pattern_name",
"named": true,
"fields": {}
},
{
"type": "import",
"named": true,
"fields": {
"import": {
"multiple": true,
"required": true,
"types": [
{
"type": "import_type",
"named": true
}
]
},
"source": {
"multiple": false,
"required": true,
"types": [
{
"type": "raw_string",
"named": true
}
]
}
}
},
{
"type": "import_type",
"named": true,
"fields": {
"as": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "intersection_type",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "keyof",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "list_type",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "map_type",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"property": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_variable_declaration_name",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "member_type",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "shorthand_member_identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "parametric_type",
"named": true,
"fields": {
"argument": {
"multiple": true,
"required": false,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "program",
"named": true,
"fields": {
"declaration": {
"multiple": false,
"required": true,
"types": [
{
"type": "declaration",
"named": true
}
]
},
"import": {
"multiple": true,
"required": false,
"types": [
{
"type": "import",
"named": true
}
]
}
}
},
{
"type": "raw_string",
"named": true,
"fields": {}
},
{
"type": "shorthand_member_identifier",
"named": true,
"fields": {}
},
{
"type": "struct_type",
"named": true,
"fields": {
"member": {
"multiple": true,
"required": false,
"types": [
{
"type": "member_type",
"named": true
}
]
}
}
},
{
"type": "subtraction_type",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "parametric_type",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "parametric_type",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "tagged_type",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "tuple_type",
"named": true,
"fields": {
"element": {
"multiple": true,
"required": false,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "type_group",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "type_variable",
"named": true,
"fields": {}
},
{
"type": "type_variable_declaration_name",
"named": true,
"fields": {}
},
{
"type": "union_type",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "conditional_type",
"named": true
},
{
"type": "curried_type",
"named": true
},
{
"type": "intersection_type",
"named": true
},
{
"type": "keyof",
"named": true
},
{
"type": "list_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "parametric_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "subtraction_type",
"named": true
},
{
"type": "tagged_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_group",
"named": true
},
{
"type": "type_variable",
"named": true
},
{
"type": "union_type",
"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": "<",
"named": false
},
{
"type": "<:",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "as",
"named": false
},
{
"type": "comment",
"named": true
},
{
"type": "declare",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "from",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "keyof",
"named": false
},
{
"type": "r/",
"named": false
},
{
"type": "regex_flags",
"named": true
},
{
"type": "regex_pattern",
"named": true
},
{
"type": "then",
"named": false
},
{
"type": "true",
"named": false
},
{
"type": "type",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "}",
"named": false
}
]