aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/odin/printer/visit.odin9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin
index 8c82a21..95d5dbd 100644
--- a/src/odin/printer/visit.odin
+++ b/src/odin/printer/visit.odin
@@ -1035,9 +1035,14 @@ visit_stmt :: proc(
document = cons(document, text(v.terminator.text))
- if len(v.body) != 0 {
+ if count := len(v.body); count > 0 {
set_source_position(p, v.body[0].pos)
- document = cons(document, nest(cons(newline(1), visit_block_stmts(p, v.body))))
+ fst_stmt, is_assign := v.body[0].derived_stmt.(^Assign_Stmt)
+ if is_assign && count == 1 {
+ document = cons_with_opl(document, nest(visit_stmt(p, fst_stmt)))
+ } else {
+ document = cons(document, nest(cons(newline(1), visit_block_stmts(p, v.body))))
+ }
}
case ^Type_Switch_Stmt:
if v.partial {