diff --git a/grammar.js b/grammar.js index 880c269..0b97658 100644 --- a/grammar.js +++ b/grammar.js @@ -47,6 +47,12 @@ module.exports = grammar({ /\\?\s/, ], + supertypes: $ => [ + $._statement, + $._expression, + $._primary_expression, + ], + word: $ => $.word, rules: { diff --git a/src/grammar.json b/src/grammar.json index 4b35c52..9c05c45 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -2505,6 +2505,10 @@ "_simple_variable_name", "_special_variable_name" ], - "supertypes": [] + "supertypes": [ + "_statement", + "_expression", + "_primary_expression" + ] } diff --git a/src/node-types.json b/src/node-types.json index 0d92974..b6e3b04 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -1,4 +1,154 @@ [ + { + "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": "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, @@ -8,44 +158,12 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -59,59 +177,7 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -187,64 +253,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "named": true - }, - { - "type": "process_substitution", - "named": true - }, - { - "type": "raw_string", + "type": "_expression", "named": true }, { "type": "regex", "named": true - }, - { - "type": "simple_expansion", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "string_expansion", - "named": true - }, - { - "type": "unary_expression", - "named": true - }, - { - "type": "word", - "named": true } ] } @@ -273,59 +287,7 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -335,59 +297,7 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -397,59 +307,7 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -465,44 +323,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -512,76 +338,12 @@ "required": false, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -595,44 +357,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -665,48 +395,16 @@ "named": false }, { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "named": true }, - { - "type": "expansion", - "named": true - }, - { - "type": "process_substitution", - "named": true - }, - { - "type": "raw_string", - "named": true - }, { "type": "regex", "named": true - }, - { - "type": "simple_expansion", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "string_expansion", - "named": true - }, - { - "type": "word", - "named": true } ] }, @@ -745,44 +443,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -796,80 +462,16 @@ "required": true, "types": [ { - "type": "c_style_for_statement", - "named": true - }, - { - "type": "case_statement", - "named": true - }, - { - "type": "command", - "named": true - }, - { - "type": "compound_statement", - "named": true - }, - { - "type": "declaration_command", + "type": "_statement", "named": true }, { "type": "file_redirect", "named": true }, - { - "type": "for_statement", - "named": true - }, - { - "type": "function_definition", - "named": true - }, { "type": "heredoc_body", "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 } ] } @@ -883,76 +485,12 @@ "required": false, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -966,39 +504,7 @@ "required": false, "types": [ { - "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", + "type": "_primary_expression", "named": true } ] @@ -1013,41 +519,13 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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": "variable_assignment", "named": true @@ -1055,10 +533,6 @@ { "type": "variable_name", "named": true - }, - { - "type": "word", - "named": true } ] } @@ -1072,76 +546,12 @@ "required": false, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -1155,76 +565,12 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -1238,76 +584,12 @@ "required": false, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -1321,49 +603,21 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "named": true }, - { - "type": "expansion", - "named": true - }, - { - "type": "process_substitution", - "named": true - }, - { - "type": "raw_string", - "named": true - }, { "type": "regex", "named": true }, - { - "type": "simple_expansion", - "named": true - }, { "type": "special_variable_name", "named": true }, - { - "type": "string", - "named": true - }, - { - "type": "string_expansion", - "named": true - }, { "type": "subscript", "named": true @@ -1371,10 +625,6 @@ { "type": "variable_name", "named": true - }, - { - "type": "word", - "named": true } ] } @@ -1398,44 +648,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -1460,44 +678,12 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] }, @@ -1586,44 +772,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] } @@ -1653,71 +807,7 @@ "named": false }, { - "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", + "type": "_statement", "named": true } ] @@ -1728,23 +818,7 @@ "required": false, "types": [ { - "type": "c_style_for_statement", - "named": true - }, - { - "type": "case_statement", - "named": true - }, - { - "type": "command", - "named": true - }, - { - "type": "compound_statement", - "named": true - }, - { - "type": "declaration_command", + "type": "_statement", "named": true }, { @@ -1755,57 +829,9 @@ "type": "else_clause", "named": true }, - { - "type": "for_statement", - "named": true - }, - { - "type": "function_definition", - "named": true - }, { "type": "heredoc_body", "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 } ] } @@ -1819,71 +845,7 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true } ] @@ -1921,59 +883,7 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -1988,71 +898,7 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true } ] @@ -2067,59 +913,7 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -2134,76 +928,12 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -2217,76 +947,12 @@ "required": false, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -2300,71 +966,7 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true } ] @@ -2459,44 +1061,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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 } ] }, @@ -2521,76 +1091,12 @@ "required": true, "types": [ { - "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", + "type": "_statement", "named": true }, { "type": "heredoc_body", "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 } ] } @@ -2604,59 +1110,7 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "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": "unary_expression", - "named": true - }, - { - "type": "word", + "type": "_expression", "named": true } ] @@ -2671,64 +1125,12 @@ "required": true, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "binary_expression", - "named": true - }, - { - "type": "command_substitution", - "named": true - }, - { - "type": "concatenation", - "named": true - }, - { - "type": "expansion", - "named": true - }, - { - "type": "parenthesized_expression", - "named": true - }, - { - "type": "postfix_expression", - "named": true - }, - { - "type": "process_substitution", - "named": true - }, - { - "type": "raw_string", - "named": true - }, - { - "type": "simple_expansion", - "named": true - }, - { - "type": "string", - "named": true - }, - { - "type": "string_expansion", + "type": "_expression", "named": true }, { "type": "test_operator", "named": true - }, - { - "type": "unary_expression", - "named": true - }, - { - "type": "word", - "named": true } ] } @@ -2742,48 +1144,16 @@ "required": false, "types": [ { - "type": "ansii_c_string", - "named": true - }, - { - "type": "command_substitution", + "type": "_primary_expression", "named": true }, { "type": "concatenation", "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": "variable_name", "named": true - }, - { - "type": "word", - "named": true } ] } @@ -2811,48 +1181,16 @@ "required": true, "types": [ { - "type": "ansii_c_string", + "type": "_primary_expression", "named": true }, { "type": "array", "named": true }, - { - "type": "command_substitution", - "named": true - }, { "type": "concatenation", "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 } ] } @@ -2893,71 +1231,7 @@ "named": false }, { - "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", + "type": "_statement", "named": true } ]