From fc126b1103a8b6b6cbde7cf10ee6e25a3279cd9f Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Tue, 26 Aug 2025 01:05:25 -0400 Subject: Fix for 'else if' --- src/formatter/formatter.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/formatter/formatter.c') diff --git a/src/formatter/formatter.c b/src/formatter/formatter.c index b62d3fbe..7c27d053 100644 --- a/src/formatter/formatter.c +++ b/src/formatter/formatter.c @@ -305,9 +305,14 @@ Text_t format_code(ast_t *ast, Table_t comments, Text_t indent) { Text_t code = Texts("if ", fmt(if_->condition, comments, indent), "\n", indent, single_indent, fmt(if_->body, comments, Texts(indent, single_indent))); - if (if_->else_body) - code = Texts(code, "\n", indent, "else \n", indent, single_indent, - fmt(if_->else_body, comments, Texts(indent, single_indent))); + if (if_->else_body) { + if (if_->else_body->tag != If) { + code = Texts(code, "\n", indent, "else\n", indent, single_indent, + fmt(if_->else_body, comments, Texts(indent, single_indent))); + } else { + code = Texts(code, "\n", indent, "else ", fmt(if_->else_body, comments, indent)); + } + } return code; } /*multiline*/ case When: { -- cgit v1.2.3