goimportssort

command module
v0.5.12 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 6, 2024 License: MIT Imports: 22 Imported by: 0

README

fork of https://github.com/AanZee/goimportssort

go-imports-sort

Gitlab code coverage GitHub Workflow Status Build GitHub go.mod Go version

This tool aims to automatically fix the order of golang imports. It will split your imports into three categories.

Features

  • Automatically split your imports in three categories: inbuilt, external and local.
  • Written fully in Golang, no dependencies, works on any platform.
  • Detects Go module name automatically.
  • Orders your imports alphabetically.
  • Removes additional line breaks.
  • No more manually fixing import orders.

Why use this over goimports?

Goimports will not categorize your imports when wrongly formatted. PRs to add in the functionality were denied.

Installation

$ go install github.com/bonsai-oss/goimportssort@latest

Usage

usage: goimportssort [flags] [path ...]
  -l    write results to stdout
  -local string
        put imports beginning with this string after 3rd-party packages; comma-separated list
  -o string
        custom the order of the section of imports. e.g. ixl means inbuilt, external, and local (default "iel")
  -p int
        number of files to process concurrently (default 8)
  -v    verbose logging
  -w    write result to (source) file instead of stdout

Imports will be sorted according to their categories.

$ goimportssort -v -w .

For example:

package main

import (
	"fmt"
	"log"
	APZ "bitbucket.org/example/package/name"
	APA "bitbucket.org/example/package/name"
	"github.com/bonsai-oss/goimportssort/package2"
	"github.com/bonsai-oss/goimportssort/package1"
)
import (
	"net/http/httptest"
)

import "bitbucket.org/example/package/name2"
import "bitbucket.org/example/package/name3"
import "bitbucket.org/example/package/name4"

will be transformed into:

package main

import (
	"fmt"
	"log"
	"net/http/httptest"

	APA "bitbucket.org/example/package/name"
	APZ "bitbucket.org/example/package/name"
	"bitbucket.org/example/package/name2"
	"bitbucket.org/example/package/name3"
	"bitbucket.org/example/package/name4"

	"github.com/bonsai-oss/goimportssort/package1"
	"github.com/bonsai-oss/goimportssort/package2"
)

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL