Skip to content

Commit 4606d17

Browse files
authored
Support multiple import blocks (#106)
* support multiple import blocks Signed-off-by: Loong <[email protected]> * bump up version Signed-off-by: Loong <[email protected]>
1 parent 256e8b5 commit 4606d17

9 files changed

+64
-3
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ build: clean
1212
@go build -v -trimpath -o ${BIN_OUTPUT} .
1313

1414
test: clean
15-
@go test -v -cover ./...
15+
@go test -v -count=1 -cover ./...
1616

1717
generate:
1818
@go generate ./...

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import (
66
"github.com/daixiang0/gci/cmd/gci"
77
)
88

9-
var version = "0.6.3"
9+
var version = "0.7.0"
1010

1111
func main() {
1212
e := gci.NewExecutor(version)

pkg/gci/gci.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,22 @@ func LoadFormatGoFile(file io.FileObj, cfg config.Config) (src, dist []byte, err
138138
return nil, nil, err
139139
}
140140

141-
head := src[:headEnd]
141+
var head []byte
142+
if src[headEnd-1] == '\t' {
143+
head = src[:headEnd]
144+
} else {
145+
// handle multiple import blocks
146+
// cover `import ` to `import (`
147+
head = make([]byte, headEnd)
148+
copy(head, src[:headEnd])
149+
head = append(head, []byte{40, 10, 9}...)
150+
}
151+
142152
tail := src[tailStart:]
153+
// for test
154+
if len(tail) == 0 {
155+
tail = []byte(")\n")
156+
}
143157

144158
firstWithIndex := true
145159

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
sections:
2+
- Standard
3+
- Default
4+
- Prefix(github.com/daixiang0)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package main
2+
3+
import "fmt"
4+
5+
import "context"
6+
7+
import (
8+
"os"
9+
10+
"github.com/daixiang0/test"
11+
)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"os"
7+
8+
"github.com/daixiang0/test"
9+
)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
sections:
2+
- Standard
3+
- Default
4+
- Prefix(github.com/daixiang0)
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"os"
6+
7+
"github.com/daixiang0/test"
8+
)
9+
10+
import "context"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package main
2+
3+
import (
4+
"context"
5+
"fmt"
6+
"os"
7+
8+
"github.com/daixiang0/test"
9+
)

0 commit comments

Comments
 (0)