@@ -58,7 +58,7 @@ func newPkg(data [][]byte, localFlag string) *pkg {
58
58
// 2. commentFlag after import path
59
59
commentIndex := strings .Index (line , commentFlag )
60
60
if commentIndex == 0 {
61
- pkg , _ , _ := getPkgInfo (formatData [i + 1 ], true )
61
+ pkg , _ , _ := getPkgInfo (formatData [i + 1 ], strings . Index ( formatData [ i + 1 ], commentFlag ) >= 0 )
62
62
p .comment [pkg ] = line
63
63
continue
64
64
} else if commentIndex > 0 {
@@ -94,7 +94,7 @@ func (p *pkg) fmt() []byte {
94
94
sort .Strings (p .list [pkgType ])
95
95
for _ , s := range p .list [pkgType ] {
96
96
if p .comment [s ] != "" {
97
- l := fmt .Sprintf ("%s%s%s" , indent , p .comment [s ], linebreak )
97
+ l := fmt .Sprintf ("%s%s%s%s" , linebreak , indent , p .comment [s ], linebreak )
98
98
ret = append (ret , l )
99
99
}
100
100
@@ -114,7 +114,11 @@ func (p *pkg) fmt() []byte {
114
114
if ret [len (ret )- 1 ] == linebreak {
115
115
ret = ret [:len (ret )- 1 ]
116
116
}
117
- return []byte (strings .Join (ret , "" ))
117
+
118
+ // remove duplicate empty lines
119
+ s1 := fmt .Sprintf ("%s%s%s%s" , linebreak , linebreak , linebreak , indent )
120
+ s2 := fmt .Sprintf ("%s%s%s" , linebreak , linebreak , indent )
121
+ return []byte (strings .ReplaceAll (strings .Join (ret , "" ), s1 , s2 ))
118
122
}
119
123
120
124
// getPkgInfo assume line is a import path, and return (path, alias, comment)
0 commit comments