tree-sitter-bash/src/node-types.json

1666 lines
27 KiB
JSON

[
{
"type": "_expression",
"named": true,
"subtypes": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "postfix_expression",
"named": true
},
{
"type": "ternary_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "word",
"named": true
}
]
},
{
"type": "_primary_expression",
"named": true,
"subtypes": [
{
"type": "ansii_c_string",
"named": true
},
{
"type": "command_substitution",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "process_substitution",
"named": true
},
{
"type": "raw_string",
"named": true
},
{
"type": "simple_expansion",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "string_expansion",
"named": true
},
{
"type": "word",
"named": true
}
]
},
{
"type": "_statement",
"named": true,
"subtypes": [
{
"type": "c_style_for_statement",
"named": true
},
{
"type": "case_statement",
"named": true
},
{
"type": "command",
"named": true
},
{
"type": "compound_statement",
"named": true
},
{
"type": "declaration_command",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "function_definition",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "negated_command",
"named": true
},
{
"type": "pipeline",
"named": true
},
{
"type": "redirected_statement",
"named": true
},
{
"type": "subshell",
"named": true
},
{
"type": "test_command",
"named": true
},
{
"type": "unset_command",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
},
{
"type": "array",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"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": "test_operator",
"named": true
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "regex",
"named": true
}
]
}
}
},
{
"type": "c_style_for_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "compound_statement",
"named": true
},
{
"type": "do_group",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"initializer": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"update": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "case_item",
"named": true,
"fields": {
"fallthrough": {
"multiple": false,
"required": false,
"types": [
{
"type": ";&",
"named": false
},
{
"type": ";;&",
"named": false
}
]
},
"termination": {
"multiple": false,
"required": false,
"types": [
{
"type": ";;",
"named": false
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "case_statement",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "case_item",
"named": true
}
]
}
},
{
"type": "command",
"named": true,
"fields": {
"argument": {
"multiple": true,
"required": false,
"types": [
{
"type": "==",
"named": false
},
{
"type": "=~",
"named": false
},
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "regex",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "command_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "file_redirect",
"named": true
},
{
"type": "variable_assignment",
"named": true
}
]
}
},
{
"type": "command_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
},
{
"type": "command_substitution",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "file_redirect",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "compound_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "concatenation",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
}
]
}
},
{
"type": "declaration_command",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "variable_assignment",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "do_group",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "elif_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "else_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "expansion",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "regex",
"named": true
},
{
"type": "special_variable_name",
"named": true
},
{
"type": "subscript",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "file_redirect",
"named": true,
"fields": {
"descriptor": {
"multiple": false,
"required": false,
"types": [
{
"type": "file_descriptor",
"named": true
}
]
},
"destination": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "do_group",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
},
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable_name",
"named": true
}
]
}
}
},
{
"type": "function_definition",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "compound_statement",
"named": true
},
{
"type": "subshell",
"named": true
},
{
"type": "test_command",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "word",
"named": true
}
]
}
}
},
{
"type": "heredoc_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "command_substitution",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "simple_expansion",
"named": true
}
]
}
},
{
"type": "heredoc_redirect",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "heredoc_start",
"named": true
}
]
}
},
{
"type": "herestring_redirect",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "\n",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": ";;",
"named": false
},
{
"type": "_statement",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "elif_clause",
"named": true
},
{
"type": "else_clause",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "negated_command",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "command",
"named": true
},
{
"type": "subshell",
"named": true
},
{
"type": "test_command",
"named": true
}
]
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "pipeline",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "postfix_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "process_substitution",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "program",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "redirected_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
}
]
},
"redirect": {
"multiple": true,
"required": true,
"types": [
{
"type": "file_redirect",
"named": true
},
{
"type": "heredoc_redirect",
"named": true
},
{
"type": "herestring_redirect",
"named": true
}
]
}
}
},
{
"type": "simple_expansion",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "special_variable_name",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "command_substitution",
"named": true
},
{
"type": "expansion",
"named": true
},
{
"type": "simple_expansion",
"named": true
}
]
}
},
{
"type": "string_expansion",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "raw_string",
"named": true
},
{
"type": "string",
"named": true
}
]
}
},
{
"type": "subscript",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "variable_name",
"named": true
}
]
}
}
},
{
"type": "subshell",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "heredoc_body",
"named": true
}
]
}
},
{
"type": "ternary_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "test_command",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "test_operator",
"named": true
}
]
}
},
{
"type": "unset_command",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "concatenation",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "variable_assignment",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "subscript",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "array",
"named": true
},
{
"type": "concatenation",
"named": true
}
]
}
}
},
{
"type": "while_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "do_group",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "\n",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": ";;",
"named": false
},
{
"type": "_statement",
"named": true
}
]
}
}
},
{
"type": "word",
"named": true,
"fields": {}
},
{
"type": "\n",
"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": "))",
"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": "<&",
"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": "[",
"named": false
},
{
"type": "[[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "]]",
"named": false
},
{
"type": "`",
"named": false
},
{
"type": "ansii_c_string",
"named": true
},
{
"type": "case",
"named": false
},
{
"type": "comment",
"named": true
},
{
"type": "declare",
"named": false
},
{
"type": "do",
"named": false
},
{
"type": "done",
"named": false
},
{
"type": "elif",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "esac",
"named": false
},
{
"type": "export",
"named": false
},
{
"type": "fi",
"named": false
},
{
"type": "file_descriptor",
"named": true
},
{
"type": "for",
"named": false
},
{
"type": "function",
"named": false
},
{
"type": "heredoc_start",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "local",
"named": false
},
{
"type": "raw_string",
"named": true
},
{
"type": "readonly",
"named": false
},
{
"type": "regex",
"named": true
},
{
"type": "special_variable_name",
"named": true
},
{
"type": "test_operator",
"named": true
},
{
"type": "then",
"named": false
},
{
"type": "typeset",
"named": false
},
{
"type": "unset",
"named": false
},
{
"type": "unsetenv",
"named": false
},
{
"type": "variable_name",
"named": true
},
{
"type": "while",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|&",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
}
]