File tree Expand file tree Collapse file tree 3 files changed +28
-0
lines changed Expand file tree Collapse file tree 3 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -696,6 +696,24 @@ pub fn (mut f Fmt) struct_decl(node ast.StructDecl) {
696696 f.writeln ('__global:' )
697697 } else if i == node.module_pos {
698698 f.writeln ('module:' )
699+ } else if i > 0 {
700+ // keep one empty line between fields (exclude one after mut:, pub:, ...)
701+ mut before_last_line := node.fields[i - 1 ].pos.line_nr
702+ if node.fields[i - 1 ].comments.len > 0 {
703+ before_last_line = util.imax (before_last_line, node.fields[i - 1 ].comments.last ().pos.last_line)
704+ }
705+ if node.fields[i - 1 ].has_default_expr {
706+ before_last_line = util.imax (before_last_line, node.fields[i - 1 ].default_expr.position ().last_line)
707+ }
708+
709+ mut next_first_line := field.pos.line_nr
710+ if field.comments.len > 0 {
711+ next_first_line = util.imin (next_first_line, field.comments[0 ].pos.line_nr)
712+ }
713+ println ('$field.name $next_first_line $before_last_line ' )
714+ if next_first_line - before_last_line > 1 {
715+ f.writeln ('' )
716+ }
699717 }
700718 end_pos := field.pos.pos + field.pos.len
701719 before_comments := field.comments.filter (it .pos.pos < field.pos.pos)
Original file line number Diff line number Diff line change 5151 somefield2 /* 11 */ int // 12
5252pub:
5353 somefield3 int
54+
55+ somefield4 int
5456 /*
5557 13
565814
Original file line number Diff line number Diff line change @@ -47,7 +47,15 @@ somefield /*4*/ /*5*/ int /*6*/ /*7*/ /*8*/ /*
4747*/
4848somefield2 /*11*/ int // 12
4949pub:
50+
51+
52+
53+
5054somefield3 int
55+
56+
57+
58+ somefield4 int
5159/*
526013
536114
You can’t perform that action at this time.
0 commit comments