summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLucy <lucyperopero@gmail.com>2025-12-21 05:36:39 -0300
committerLucy <lucyperopero@gmail.com>2025-12-21 05:36:39 -0300
commitcdb08995ff28f2188b92378d13c65db095481589 (patch)
tree7d89e2c985c7e217674582216760fa5bcfe14dfd /src
parent55c3d1831d40eb6cd17990049c5487b9fef1a4a3 (diff)
Fix bug
Diffstat (limited to 'src')
-rw-r--r--src/odin/printer/visit.odin31
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))
}