Constant tree_sitter_gleam::NODE_TYPES
source · pub const NODE_TYPES: &'static str = "[\n {\n \"type\": \"anonymous_function\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_body\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_parameters\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"argument\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"hole\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument\",\n \"named\": true\n },\n {\n \"type\": \"attribute_value\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"assert\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"attribute\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"attribute_value\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"}\",\n \"named\": false\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"%\",\n \"named\": false\n },\n {\n \"type\": \"&&\",\n \"named\": false\n },\n {\n \"type\": \"*\",\n \"named\": false\n },\n {\n \"type\": \"*.\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"+.\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"-.\",\n \"named\": false\n },\n {\n \"type\": \"/\",\n \"named\": false\n },\n {\n \"type\": \"/.\",\n \"named\": false\n },\n {\n \"type\": \"<\",\n \"named\": false\n },\n {\n \"type\": \"<.\",\n \"named\": false\n },\n {\n \"type\": \"<=\",\n \"named\": false\n },\n {\n \"type\": \"<=.\",\n \"named\": false\n },\n {\n \"type\": \"<>\",\n \"named\": false\n },\n {\n \"type\": \"==\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">.\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \">=.\",\n \"named\": false\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"|>\",\n \"named\": false\n },\n {\n \"type\": \"||\",\n \"named\": false\n }\n ]\n },\n \"right\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"pipeline_echo\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"}\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"bit_string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_string_segment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_string_segment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"bit_string_segment\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"options\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"bit_string_segment_options\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bit_string_segment_option\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"bit_string_segment_options\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"bit_string_segment_option\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"let\",\n \"named\": true\n },\n {\n \"type\": \"let_assert\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"use\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"case_clauses\",\n \"named\": true\n }\n ]\n },\n \"subjects\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"case_subjects\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"case_clause\",\n \"named\": true,\n \"fields\": {\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"case_clause_guard\",\n \"named\": true\n }\n ]\n },\n \"patterns\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"case_clause_patterns\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"case_clause_guard\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_clause_pattern\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_clause_patterns\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"case_clause_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_clauses\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"case_clause\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_subjects\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constant\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constructor_name\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"data_constructor\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"data_constructor_arguments\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"data_constructor_argument\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"data_constructor_arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"data_constructor_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"data_constructors\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"data_constructor\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"discard\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"echo\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"escape_sequence\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"external_function\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"external_function_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_parameters\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"external_function_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"external_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n },\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_access\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"record\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"function\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_parameters\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"let\",\n \"named\": true\n },\n {\n \"type\": \"let_assert\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"use\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_call\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n }\n ]\n },\n \"function\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"function_parameter\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"function_parameter_types\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"function_type\",\n \"named\": true,\n \"fields\": {\n \"parameter_types\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_parameter_types\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"hole\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"identifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"import\",\n \"named\": true,\n \"fields\": {\n \"alias\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"imports\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"unqualified_imports\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"module\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"integer\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"label\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"let\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"let_assert\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"message\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"list\",\n \"named\": true,\n \"fields\": {\n \"spread\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern_tail\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"list_pattern_tail\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"module\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"panic\",\n \"named\": true,\n \"fields\": {\n \"message\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pattern_spread\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"pipeline_echo\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"record\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_name\",\n \"named\": true\n },\n {\n \"type\": \"remote_constructor_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"record_pattern_arguments\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_name\",\n \"named\": true\n },\n {\n \"type\": \"remote_constructor_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_pattern_argument\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"label\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_pattern_arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"pattern_spread\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"record_update\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_update_arguments\",\n \"named\": true\n }\n ]\n },\n \"constructor\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_name\",\n \"named\": true\n },\n {\n \"type\": \"remote_constructor_name\",\n \"named\": true\n }\n ]\n },\n \"spread\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_update_argument\",\n \"named\": true,\n \"fields\": {\n \"label\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"label\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_update_arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_update_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"remote_constructor_name\",\n \"named\": true,\n \"fields\": {\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"remote_type_identifier\",\n \"named\": true,\n \"fields\": {\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"source_file\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"external_function\",\n \"named\": true\n },\n {\n \"type\": \"external_type\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"import\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"let\",\n \"named\": true\n },\n {\n \"type\": \"let_assert\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"target_group\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n },\n {\n \"type\": \"type_alias\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n },\n {\n \"type\": \"use\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"quoted_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"target\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"target_group\",\n \"named\": true,\n \"fields\": {\n \"target\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"target\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"external_function\",\n \"named\": true\n },\n {\n \"type\": \"external_type\",\n \"named\": true\n },\n {\n \"type\": \"function\",\n \"named\": true\n },\n {\n \"type\": \"import\",\n \"named\": true\n },\n {\n \"type\": \"type_alias\",\n \"named\": true\n },\n {\n \"type\": \"type_definition\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"todo\",\n \"named\": true,\n \"fields\": {\n \"message\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"tuple\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true,\n \"fields\": {\n \"index\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"integer\",\n \"named\": true\n }\n ]\n },\n \"tuple\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_arguments\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"remote_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_alias\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"opacity_modifier\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_name\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n },\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_argument\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_definition\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"data_constructors\",\n \"named\": true\n },\n {\n \"type\": \"opacity_modifier\",\n \"named\": true\n },\n {\n \"type\": \"type_name\",\n \"named\": true\n },\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_hole\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"type_name\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"remote_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_parameter\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"type_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_var\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"unqualified_import\",\n \"named\": true,\n \"fields\": {\n \"alias\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"unqualified_imports\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"unqualified_import\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"use\",\n \"named\": true,\n \"fields\": {\n \"assignments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"use_assignments\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"anonymous_function\",\n \"named\": true\n },\n {\n \"type\": \"assert\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string\",\n \"named\": true\n },\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"boolean_negation\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"echo\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"function_call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"integer_negation\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": true\n },\n {\n \"type\": \"record\",\n \"named\": true\n },\n {\n \"type\": \"record_update\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"tuple_access\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"use_assignment\",\n \"named\": true,\n \"fields\": {\n \"assign\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"function_type\",\n \"named\": true\n },\n {\n \"type\": \"tuple_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n },\n {\n \"type\": \"type_hole\",\n \"named\": true\n },\n {\n \"type\": \"type_var\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"bit_string_pattern\",\n \"named\": true\n },\n {\n \"type\": \"discard\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"list_pattern\",\n \"named\": true\n },\n {\n \"type\": \"record_pattern\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"tuple_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"use_assignments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"use_assignment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"!\",\n \"named\": false\n },\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"\\\"\",\n \"named\": false\n },\n {\n \"type\": \"#\",\n \"named\": false\n },\n {\n \"type\": \"%\",\n \"named\": false\n },\n {\n \"type\": \"&&\",\n \"named\": false\n },\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \"*\",\n \"named\": false\n },\n {\n \"type\": \"*.\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"+.\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"-.\",\n \"named\": false\n },\n {\n \"type\": \"->\",\n \"named\": false\n },\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"..\",\n \"named\": false\n },\n {\n \"type\": \"/\",\n \"named\": false\n },\n {\n \"type\": \"/.\",\n \"named\": false\n },\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"<\",\n \"named\": false\n },\n {\n \"type\": \"<-\",\n \"named\": false\n },\n {\n \"type\": \"<.\",\n \"named\": false\n },\n {\n \"type\": \"<<\",\n \"named\": false\n },\n {\n \"type\": \"<=\",\n \"named\": false\n },\n {\n \"type\": \"<=.\",\n \"named\": false\n },\n {\n \"type\": \"<>\",\n \"named\": false\n },\n {\n \"type\": \"=\",\n \"named\": false\n },\n {\n \"type\": \"==\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">.\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \">=.\",\n \"named\": false\n },\n {\n \"type\": \">>\",\n \"named\": false\n },\n {\n \"type\": \"@\",\n \"named\": false\n },\n {\n \"type\": \"[\",\n \"named\": false\n },\n {\n \"type\": \"]\",\n \"named\": false\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"assert\",\n \"named\": false\n },\n {\n \"type\": \"big\",\n \"named\": false\n },\n {\n \"type\": \"binary\",\n \"named\": false\n },\n {\n \"type\": \"bit_string\",\n \"named\": false\n },\n {\n \"type\": \"bits\",\n \"named\": false\n },\n {\n \"type\": \"bytes\",\n \"named\": false\n },\n {\n \"type\": \"case\",\n \"named\": false\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"const\",\n \"named\": false\n },\n {\n \"type\": \"echo\",\n \"named\": false\n },\n {\n \"type\": \"erlang\",\n \"named\": false\n },\n {\n \"type\": \"external\",\n \"named\": false\n },\n {\n \"type\": \"float\",\n \"named\": false\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"fn\",\n \"named\": false\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"import\",\n \"named\": false\n },\n {\n \"type\": \"int\",\n \"named\": false\n },\n {\n \"type\": \"javascript\",\n \"named\": false\n },\n {\n \"type\": \"let\",\n \"named\": false\n },\n {\n \"type\": \"little\",\n \"named\": false\n },\n {\n \"type\": \"module_comment\",\n \"named\": true\n },\n {\n \"type\": \"native\",\n \"named\": false\n },\n {\n \"type\": \"opacity_modifier\",\n \"named\": true\n },\n {\n \"type\": \"panic\",\n \"named\": false\n },\n {\n \"type\": \"quoted_content\",\n \"named\": true\n },\n {\n \"type\": \"signed\",\n \"named\": false\n },\n {\n \"type\": \"size\",\n \"named\": false\n },\n {\n \"type\": \"statement_comment\",\n \"named\": true\n },\n {\n \"type\": \"todo\",\n \"named\": false\n },\n {\n \"type\": \"type\",\n \"named\": false\n },\n {\n \"type\": \"unit\",\n \"named\": false\n },\n {\n \"type\": \"unsigned\",\n \"named\": false\n },\n {\n \"type\": \"use\",\n \"named\": false\n },\n {\n \"type\": \"utf16\",\n \"named\": false\n },\n {\n \"type\": \"utf16_codepoint\",\n \"named\": false\n },\n {\n \"type\": \"utf32\",\n \"named\": false\n },\n {\n \"type\": \"utf32_codepoint\",\n \"named\": false\n },\n {\n \"type\": \"utf8\",\n \"named\": false\n },\n {\n \"type\": \"utf8_codepoint\",\n \"named\": false\n },\n {\n \"type\": \"visibility_modifier\",\n \"named\": true\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"|\",\n \"named\": false\n },\n {\n \"type\": \"|>\",\n \"named\": false\n },\n {\n \"type\": \"||\",\n \"named\": false\n },\n {\n \"type\": \"}\",\n \"named\": false\n }\n]";Expand description
The content of the node-types.json file for this grammar.