@@ -1039,28 +1039,28 @@ pub fn (mut f Fmt) enum_decl(node ast.EnumDecl) {
1039
1039
f.writeln ('enum ${name} {' )
1040
1040
f.comments (node.comments, same_line: true , level: .indent)
1041
1041
1042
- mut value_aligns := FieldAlign{}
1043
- mut attr_aligns := FieldAlign{}
1044
- mut comment_aligns := FieldAlign{}
1042
+ mut value_align := new_field_align ()
1043
+ mut attr_align := new_field_align ()
1044
+ mut comment_align := new_field_align ()
1045
1045
for field in node.fields {
1046
1046
if field.has_expr {
1047
- value_aligns .add_info (field.name.len, field.pos.line_nr)
1047
+ value_align .add_info (field.name.len, field.pos.line_nr)
1048
1048
}
1049
1049
attrs_len := inline_attrs_len (field.attrs)
1050
1050
if field.attrs.len > 0 {
1051
1051
if field.has_expr {
1052
- attr_aligns .add_info (field.expr.str ().len + 2 , field.pos.line_nr)
1052
+ attr_align .add_info (field.expr.str ().len + 2 , field.pos.line_nr)
1053
1053
} else {
1054
- attr_aligns .add_info (field.name.len, field.pos.line_nr)
1054
+ attr_align .add_info (field.name.len, field.pos.line_nr)
1055
1055
}
1056
1056
}
1057
1057
if field.comments.len > 0 {
1058
1058
if field.attrs.len > 0 {
1059
- comment_aligns .add_info (attrs_len, field.pos.line_nr)
1059
+ comment_align .add_info (attrs_len, field.pos.line_nr)
1060
1060
} else if field.has_expr {
1061
- comment_aligns .add_info (field.expr.str ().len + 2 , field.pos.line_nr)
1061
+ comment_align .add_info (field.expr.str ().len + 2 , field.pos.line_nr)
1062
1062
} else {
1063
- comment_aligns .add_info (field.name.len, field.pos.line_nr)
1063
+ comment_align .add_info (field.name.len, field.pos.line_nr)
1064
1064
}
1065
1065
}
1066
1066
}
@@ -1071,28 +1071,28 @@ pub fn (mut f Fmt) enum_decl(node ast.EnumDecl) {
1071
1071
}
1072
1072
f.write ('\t ${field.name} ' )
1073
1073
if field.has_expr {
1074
- f.write (strings.repeat (` ` , value_aligns .max_len (field.pos.line_nr) - field.name.len))
1074
+ f.write (strings.repeat (` ` , value_align .max_len (field.pos.line_nr) - field.name.len))
1075
1075
f.write (' = ' )
1076
1076
f.expr (field.expr)
1077
1077
}
1078
1078
attrs_len := inline_attrs_len (field.attrs)
1079
1079
if field.attrs.len > 0 {
1080
1080
if field.has_expr {
1081
- f.write (strings.repeat (` ` , attr_aligns .max_len (field.pos.line_nr) - field.expr.str ().len - 2 ))
1081
+ f.write (strings.repeat (` ` , attr_align .max_len (field.pos.line_nr) - field.expr.str ().len - 2 ))
1082
1082
} else {
1083
- f.write (strings.repeat (` ` , attr_aligns .max_len (field.pos.line_nr) - field.name.len))
1083
+ f.write (strings.repeat (` ` , attr_align .max_len (field.pos.line_nr) - field.name.len))
1084
1084
}
1085
1085
f.write (' ' )
1086
1086
f.single_line_attrs (field.attrs, same_line: true )
1087
1087
}
1088
1088
// f.comments(field.comments, same_line: true, has_nl: false, level: .indent)
1089
1089
if field.comments.len > 0 {
1090
1090
if field.attrs.len > 0 {
1091
- f.write (strings.repeat (` ` , comment_aligns .max_len (field.pos.line_nr) - attrs_len))
1091
+ f.write (strings.repeat (` ` , comment_align .max_len (field.pos.line_nr) - attrs_len))
1092
1092
} else if field.has_expr {
1093
- f.write (strings.repeat (` ` , comment_aligns .max_len (field.pos.line_nr) - field.expr.str ().len - 2 ))
1093
+ f.write (strings.repeat (` ` , comment_align .max_len (field.pos.line_nr) - field.expr.str ().len - 2 ))
1094
1094
} else {
1095
- f.write (strings.repeat (` ` , comment_aligns .max_len (field.pos.line_nr) - field.name.len))
1095
+ f.write (strings.repeat (` ` , comment_align .max_len (field.pos.line_nr) - field.name.len))
1096
1096
}
1097
1097
f.write (' ' )
1098
1098
f.comments (field.comments, same_line: true , has_nl: false )
@@ -1396,27 +1396,27 @@ pub fn (mut f Fmt) interface_decl(node ast.InterfaceDecl) {
1396
1396
}
1397
1397
}
1398
1398
1399
- mut type_aligns := FieldAlign{}
1400
- mut comment_aligns := FieldAlign{}
1401
- mut default_expr_aligns := FieldAlign{}
1402
- mut attr_aligns := FieldAlign{}
1399
+ mut type_align := new_field_align ()
1400
+ mut comment_align := new_field_align ()
1401
+ mut default_expr_align := new_field_align ()
1402
+ mut attr_align := new_field_align ()
1403
1403
mut field_types := []string {cap: node.fields.len}
1404
1404
1405
1405
// Calculate the alignments first
1406
- f.calculate_alignment (node.fields, mut type_aligns , mut comment_aligns , mut default_expr_aligns , mut
1407
- attr_aligns , mut field_types)
1406
+ f.calculate_alignment (node.fields, mut type_align , mut comment_align , mut default_expr_align , mut
1407
+ attr_align , mut field_types)
1408
1408
1409
1409
// TODO: alignment, comments, etc.
1410
1410
for field in immut_fields {
1411
- f.interface_field (field, type_aligns .max_len (field.pos.line_nr))
1411
+ f.interface_field (field, type_align .max_len (field.pos.line_nr))
1412
1412
}
1413
1413
for method in immut_methods {
1414
1414
f.interface_method (method)
1415
1415
}
1416
1416
if mut_fields.len + mut_methods.len > 0 {
1417
1417
f.writeln ('mut:' )
1418
1418
for field in mut_fields {
1419
- f.interface_field (field, type_aligns .max_len (field.pos.line_nr))
1419
+ f.interface_field (field, type_align .max_len (field.pos.line_nr))
1420
1420
}
1421
1421
for method in mut_methods {
1422
1422
f.interface_method (method)
@@ -1432,8 +1432,8 @@ enum AlignState {
1432
1432
has_everything
1433
1433
}
1434
1434
1435
- pub fn (mut f Fmt) calculate_alignment (fields []ast.StructField, mut type_aligns FieldAlign, mut comment_aligns FieldAlign,
1436
- mut default_expr_aligns FieldAlign, mut attr_aligns FieldAlign, mut field_types []string ) {
1435
+ pub fn (mut f Fmt) calculate_alignment (fields []ast.StructField, mut type_align FieldAlign, mut comment_align FieldAlign,
1436
+ mut default_expr_align FieldAlign, mut attr_align FieldAlign, mut field_types []string ) {
1437
1437
// Calculate the alignments first
1438
1438
mut prev_state := AlignState.plain
1439
1439
for field in fields {
@@ -1442,45 +1442,36 @@ pub fn (mut f Fmt) calculate_alignment(fields []ast.StructField, mut type_aligns
1442
1442
field_types << ft
1443
1443
attrs_len := inline_attrs_len (field.attrs)
1444
1444
end_pos := field.pos.pos + field.pos.len
1445
- type_aligns .add_info (field.name.len, field.pos.line_nr)
1445
+ type_align .add_info (field.name.len, field.pos.line_nr)
1446
1446
if field.has_default_expr {
1447
- default_expr_aligns.add_info (ft.len, field.pos.line_nr,
1448
- use_threshold: true
1449
- )
1447
+ default_expr_align.add_info (ft.len, field.pos.line_nr)
1450
1448
}
1451
1449
if field.attrs.len > 0 {
1452
- attr_aligns .add_info (ft.len, field.pos.line_nr, use_threshold: true )
1450
+ attr_align .add_info (ft.len, field.pos.line_nr)
1453
1451
}
1454
1452
for comment in field.comments {
1455
1453
if comment.pos.pos > = end_pos {
1456
1454
if comment.pos.line_nr == field.pos.line_nr {
1457
1455
if field.attrs.len > 0 {
1458
1456
if prev_state != AlignState.has_attributes {
1459
- comment_aligns .add_new_info (attrs_len, comment.pos.line_nr)
1457
+ comment_align .add_new_info (attrs_len, comment.pos.line_nr)
1460
1458
} else {
1461
- comment_aligns.add_info (attrs_len, comment.pos.line_nr,
1462
- use_threshold: true
1463
- )
1459
+ comment_align.add_info (attrs_len, comment.pos.line_nr)
1464
1460
}
1465
1461
prev_state = AlignState.has_attributes
1466
1462
} else if field.has_default_expr {
1467
1463
if prev_state != AlignState.has_default_expression {
1468
- comment_aligns .add_new_info (field.default_expr.str ().len + 2 ,
1464
+ comment_align .add_new_info (field.default_expr.str ().len + 2 ,
1469
1465
comment.pos.line_nr)
1470
1466
} else {
1471
- comment_aligns.add_info (field.default_expr.str ().len + 2 ,
1472
- comment.pos.line_nr,
1473
- use_threshold: true
1474
- )
1467
+ comment_align.add_info (field.default_expr.str ().len + 2 , comment.pos.line_nr)
1475
1468
}
1476
1469
prev_state = AlignState.has_default_expression
1477
1470
} else {
1478
1471
if prev_state != AlignState.has_everything {
1479
- comment_aligns .add_new_info (ft.len, comment.pos.line_nr)
1472
+ comment_align .add_new_info (ft.len, comment.pos.line_nr)
1480
1473
} else {
1481
- comment_aligns.add_info (ft.len, comment.pos.line_nr,
1482
- use_threshold: true
1483
- )
1474
+ comment_align.add_info (ft.len, comment.pos.line_nr)
1484
1475
}
1485
1476
prev_state = AlignState.has_everything
1486
1477
}
0 commit comments