Go to file
sudo pacman -Syu 07458099e9
chore: format this project using this project :)
2022-11-28 01:11:04 +07:00
.github chore: add github action, Makefile 2022-11-24 23:16:32 +07:00
cmd/gofimports feat: flags from gofmt 2022-11-24 23:11:15 +07:00
internal chore: format this project using this project :) 2022-11-28 01:11:04 +07:00
.gitignore chore: init go.mod 2022-11-24 22:25:13 +07:00
.golangci.yml chore: add github action, Makefile 2022-11-24 23:16:32 +07:00
.goreleaser.yml chore: add github action, Makefile 2022-11-24 23:16:32 +07:00
CHANGELOG.md chore(changelog): generate v0.0.1 2022-11-28 01:00:04 +07:00
LICENSE chore: add MIT license 2022-11-24 23:16:50 +07:00
Makefile chore: format this project using this project :) 2022-11-28 01:11:04 +07:00
README.md chore: format this project using this project :) 2022-11-28 01:11:04 +07:00
go.mod feat: print diff 2022-11-27 01:07:15 +07:00
go.sum feat: print diff 2022-11-27 01:07:15 +07:00

README.md

gofimports

Group Go imports with my opinionated preferences.

First is standard. Then third party, then company if exist. The last is local.

Also main selling point of this is group imports not sort imports. So please run gofumpt or gofmt after this.

Install

With Go version >= 1.16:

go install github.com/haunt98/gofimports/cmd/gofimports@latest

Usage

# Format ./internal
# with print impacted file (-l),
# write to file (-w),
# print diff (-d)
# company is github.com/make-go-great
gofimports -l -company github.com/make-go-great -w -d ./internal

Example result:

import (
	"fmt"

	"github.com/urfave/cli/v2"
    "github.com/pkg/diff"

	"github.com/make-go-great/color-go"

	"github.com/haunt98/gofimports/internal/imports"
)

Roadmap

  • Diff with color
  • Add profiling
  • Improve performance

Thanks