unimport is a Go static analysis tool to find unnecessary import aliases.
go get -u github.com/alexkohler/unimport
Similar to other Go static anaylsis tools (such as golint, go vet) , unimport can be invoked with one or more filenames, directories, or packages named by its import path. Unimport also supports the ...
wildcard.
unimport files/directories/packages
Currently, no flag are supported. A -w
flag may be added in the future to automatically remove aliases where possible (Similar to gofmt's -w flag).
As noted in Go's Code Review comments:
Avoid renaming imports except to avoid a name collision; good package names should not require renaming. In the event of collision, prefer to rename the most local or project-specific import.
This tool will check if any import aliases are truly needed (by ensuring there is a name collision that would exist without the import alias). This tool will ignore import paths containing dashes and dots, as these are generally useful aliases while importing a specific revision. For example, in gometalinter, there are some imports like kingpin "gopkg.in/alecthomas/kingpin.v3-unstable"
. This is a reasonable import alias and will not be flagged.
Running unimports
on the Go source:
$ unimport $GOROOT/src/...
cmd/go/pkg.go:18 unnecessary import alias pathpkg
go/build/build.go:19 unnecessary import alias pathpkg
go/internal/gcimporter/gcimporter.go:23 unnecessary import alias exact
os/pipe_test.go:14 unnecessary import alias osexec
os/os_windows_test.go:10 unnecessary import alias osexec
Below are some of the arguably unneeded import aliases it found:
// go/internal/gcimporter/gcimporter.go import ( "bufio" "errors" "fmt" "go/build" "go/token" "io" "io/ioutil" "os" "path/filepath" "sort" "strconv" "strings" "text/scanner" exact "go/constant" "go/types" ) // os/pipe_test.go.go import ( "fmt" "internal/testenv" "os" osexec "os/exec" "os/signal" "syscall" "testing" )
Pull requests welcome!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4