From dad59ebc08287c168a9b83ee78d2c45ec6c46ffa Mon Sep 17 00:00:00 2001 From: Vasil Bozhurski Date: Sun, 9 Feb 2025 01:52:29 +0200 Subject: handle comments inside empty Comp_Lit --- src/odin/printer/visit.odin | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin index a58a0de..abf9a0a 100644 --- a/src/odin/printer/visit.odin +++ b/src/odin/printer/visit.odin @@ -1795,15 +1795,21 @@ visit_expr :: proc( if should_newline { document = cons_with_nopl(document, visit_begin_brace(p, v.pos, .Comp_Lit)) set_source_position(p, v.open) - document = cons( - document, - nest( + + nested := empty() + if len(v.elems) > 0 { + nested = nest( cons( newline_position(p, 1, v.elems[0].pos), visit_comp_lit_exprs(p, v^, {.Add_Comma, .Trailing, .Enforce_Newline}), ), - ), - ) + ) + } else { + comments, _ := visit_comments(p, v.end) + nested = nest(comments) + } + + document = cons(document, nested) set_source_position(p, v.end) document = cons(document, newline(1), text_position(p, "}", v.end)) -- cgit v1.2.3