Compare commits

...

4 Commits
v0.0.4 ... main

Author SHA1 Message Date
jolheiser 587759243a
fix: empty module
ci/woodpecker/push/goreleaser Pipeline was successful Details
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-07-16 22:56:33 -05:00
jolheiser 49a668d1a9
fix: cwd
ci/woodpecker/push/goreleaser Pipeline was successful Details
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-07-16 21:43:05 -05:00
jolheiser 5c91d2e95a
fix: print errors to stderr and exit code 1
ci/woodpecker/push/goreleaser Pipeline was successful Details
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-07-16 21:12:52 -05:00
jolheiser f9f2f02f90
fix: stdin print string
ci/woodpecker/push/goreleaser Pipeline was successful Details
Signed-off-by: jolheiser <john.olheiser@gmail.com>
2023-07-16 19:01:14 -05:00
2 changed files with 27 additions and 25 deletions

7
imp.go
View File

@ -16,10 +16,7 @@ import (
)
func runImp(root, ignore string, write, gofumpt, gofumptExtra bool) error {
mod, err := modInfo()
if err != nil {
return err
}
mod := modInfo(root)
globs, err := globber.ParseFile(ignore)
if err != nil {
if !errors.Is(err, fs.ErrNotExist) {
@ -49,7 +46,7 @@ func runImp(root, ignore string, write, gofumpt, gofumptExtra bool) error {
}
formatted, err := impFormat(data, mod, gofumpt, gofumptExtra)
if err != nil {
if err != nil && !errors.Is(err, format.ErrNoImports) {
return fmt.Errorf("could not format file %q: %w", walkPath, err)
}

45
main.go
View File

@ -12,6 +12,13 @@ import (
var Version = "develop"
func main() {
if err := mainErr(); err != nil {
fmt.Fprintln(os.Stderr, err)
os.Exit(1)
}
}
func mainErr() error {
fs := flag.NewFlagSet("imp", flag.ExitOnError)
writeFlag := fs.Bool("write", false, "Write the re-ordered imports instead of just printing them")
fs.BoolVar(writeFlag, "w", *writeFlag, "--write")
@ -22,35 +29,34 @@ func main() {
stdinFlag := fs.Bool("stdin", false, "Format stdin")
if err := fs.Parse(os.Args[1:]); err != nil {
fmt.Println(err)
return err
}
cwd, err := os.Getwd()
if err != nil {
return err
}
if *stdinFlag {
mod, err := modInfo()
if err != nil {
fmt.Println(err)
return
}
mod := modInfo(cwd)
src, err := io.ReadAll(os.Stdin)
if err != nil {
fmt.Println(err)
return
return err
}
formatted, err := impFormat(src, mod, *gofumptFlag, *gofumptExtraFlag)
if err != nil {
fmt.Println(err)
return err
}
fmt.Print(formatted)
fmt.Print(string(formatted))
return nil
}
root := "."
root := cwd
if fs.NArg() > 0 {
root = fs.Arg(0)
}
if err := runImp(root, *ignoreFlag, *writeFlag, *gofumptFlag, *gofumptExtraFlag); err != nil {
fmt.Println(err)
}
return runImp(root, *ignoreFlag, *writeFlag, *gofumptFlag, *gofumptExtraFlag)
}
type module struct {
@ -76,16 +82,15 @@ func (m *module) UnmarshalJSON(data []byte) error {
return nil
}
func modInfo() (module, error) {
func modInfo(dir string) module {
cmd := exec.Command("go", "mod", "edit", "--json")
cmd.Dir = dir
out, err := cmd.Output()
if err != nil {
return module{}, err
return module{}
}
var m module
if err := json.Unmarshal(out, &m); err != nil {
return m, err
}
return m, nil
_ = json.Unmarshal(out, &m)
return m
}