Skip to content

Commit

Permalink
chore: catch dangling commits
Browse files Browse the repository at this point in the history
  • Loading branch information
daixiang0 committed Dec 8, 2020
2 parents 4ad3233 + d625c55 commit 599c94c
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 14 deletions.
6 changes: 3 additions & 3 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import (
"os"
)



var (
doWrite = flag.Bool("w", false, "doWrite result to (source) file instead of stdout")
doDiff = flag.Bool("d", false, "display diffs instead of rewriting files")
Expand All @@ -20,6 +18,9 @@ var (
)

func report(err error) {
if err == nil {
return
}
scanner.PrintError(os.Stderr, err)
exitCode = 1
}
Expand All @@ -37,7 +38,6 @@ func usage() {
os.Exit(2)
}


func main() {
flag.Usage = usage
paths := parseFlags()
Expand Down
18 changes: 7 additions & 11 deletions pkg/gci/gci.go
Original file line number Diff line number Diff line change
Expand Up @@ -346,26 +346,27 @@ func processFile(filename string, out io.Writer, set *FlagSet) error {
return err
}

func Run(filename string, set *FlagSet) ([]byte, error) {
// Run return source and result in []byte if succeed
func Run(filename string, set *FlagSet) ([]byte, []byte, error) {
var err error

f, err := os.Open(filename)
if err != nil {
return nil, err
return nil, nil, err
}
defer f.Close()

src, err := ioutil.ReadAll(f)
if err != nil {
return nil, err
return nil, nil, err
}

ori := make([]byte, len(src))
copy(ori, src)
start := bytes.Index(src, importStartFlag)
// in case no importStartFlag or importStartFlag exist in the commentFlag
if start < 0 {
return nil, nil
return nil, nil, nil
}
end := bytes.Index(src[start:], importEndFlag) + start

Expand All @@ -376,13 +377,8 @@ func Run(filename string, set *FlagSet) ([]byte, error) {
res := append(src[:start+len(importStartFlag)], append(p.fmt(), src[end+1:]...)...)

if bytes.Equal(ori, res) {
return nil, nil
return ori, nil, nil
}

data, err := diff(ori, res, filename)
if err != nil {
return nil, fmt.Errorf("failed to diff: %v", err)
}

return data, nil
return ori, res, nil
}

0 comments on commit 599c94c

Please sign in to comment.