|
17 | 17 | TupleRule, |
18 | 18 | ) |
19 | 19 | from hcl2.rules.expressions import ExprTermRule |
| 20 | +from hcl2.rules.functions import FunctionCallRule |
20 | 21 | from hcl2.rules.for_expressions import ( |
21 | 22 | ForTupleExprRule, |
22 | 23 | ForObjectExprRule, |
@@ -175,9 +176,19 @@ def format_expression(self, rule: ExprTermRule, indent_level: int = 0): |
175 | 176 | elif isinstance(rule.expression, ForObjectExprRule): |
176 | 177 | self.format_forobjectexpr(rule.expression, indent_level) |
177 | 178 |
|
| 179 | + elif isinstance(rule.expression, FunctionCallRule): |
| 180 | + self.format_function_call(rule.expression, indent_level) |
| 181 | + |
178 | 182 | elif isinstance(rule.expression, ExprTermRule): |
179 | 183 | self.format_expression(rule.expression, indent_level) |
180 | 184 |
|
| 185 | + def format_function_call(self, rule: FunctionCallRule, indent_level: int = 0): |
| 186 | + """Format a function call by recursively formatting its arguments.""" |
| 187 | + if rule.arguments is not None: |
| 188 | + for arg in rule.arguments.arguments: |
| 189 | + if isinstance(arg, ExprTermRule): |
| 190 | + self.format_expression(arg, indent_level) |
| 191 | + |
181 | 192 | def format_fortupleexpr(self, expression: ForTupleExprRule, indent_level: int = 0): |
182 | 193 | """Format a for-tuple expression with newlines around clauses.""" |
183 | 194 | for child in expression.children: |
|
0 commit comments