diff options
| author | Lucy <lucyperopero@gmail.com> | 2025-12-21 05:36:39 -0300 |
|---|---|---|
| committer | Lucy <lucyperopero@gmail.com> | 2025-12-21 05:36:39 -0300 |
| commit | cdb08995ff28f2188b92378d13c65db095481589 (patch) | |
| tree | 7d89e2c985c7e217674582216760fa5bcfe14dfd /src | |
| parent | 55c3d1831d40eb6cd17990049c5487b9fef1a4a3 (diff) | |
Fix bug
Diffstat (limited to 'src')
| -rw-r--r-- | src/odin/printer/visit.odin | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin index 6e3e852..9db83cd 100644 --- a/src/odin/printer/visit.odin +++ b/src/odin/printer/visit.odin @@ -2082,24 +2082,27 @@ visit_struct_field_list :: proc(p: ^Printer, list: ^ast.Field_List, options := L name_options := List_Options{.Add_Comma} - if (.Enforce_Newline in options) && p.config.align_struct_fields { - alignment := get_possible_field_alignment(list.list) - - if alignment > 0 { - length := 0 - for name in field.names { - length += get_node_length(name) + 2 - if .Using in field.flags { - length += 6 - } - if .Subtype in field.flags { - length += 9 + if (.Enforce_Newline in options) { + if p.config.align_struct_fields { + alignment := get_possible_field_alignment(list.list) + + if alignment > 0 { + length := 0 + for name in field.names { + length += get_node_length(name) + 2 + if .Using in field.flags { + length += 6 + } + if .Subtype in field.flags { + length += 9 + } } + align = repeat_space(alignment - length) } - align = repeat_space(alignment - length) } document = cons(document, visit_exprs(p, field.names, name_options)) - } else if (.Enforce_Newline in options) { + } + else { document = cons_with_opl(document, visit_exprs(p, field.names, name_options)) } |