Note: CLI interface (such as options) is likely to change a few times before we reach 1.0.0
gosimports - simpler goimports
- 🚀 Drop-in replacement for
goimports
- 💯 Prettier than
goimports
- 🔨 Originally forked from
golang.org/x/tools/cmd/goimports
Motivation
This gosimports
provides one solution to the goimports grouping/ordering problem.
Installation
Go
go install github.com/rinchsan/gosimports/cmd/gosimports@latest
Homebrew
brew install rinchsan/tap/gosimports
Binary
Download binaries from GitHub Releases
Example
import (
"bufio"
// basic comments
/*
block comments
*/
"github.com/rinchsan/gosimports/internal/imports"
"errors"
gocmd "github.com/rinchsan/gosimports/internal/gocommand"
"flag"
"runtime"
_ "runtime/pprof" // trailing inline comments
"strings"
)
↓ $ gosimports -w
👍
import (
"bufio"
"errors"
"flag"
"runtime"
_ "runtime/pprof" // trailing inline comments
"strings"
gocmd "github.com/rinchsan/gosimports/internal/gocommand"
"github.com/rinchsan/gosimports/internal/imports"
)
while goimports
formatting like below 👎
import (
"bufio"
// basic comments
/*
block comments
*/
"github.com/rinchsan/gosimports/internal/imports"
"errors"
"flag"
gocmd "github.com/rinchsan/gosimports/internal/gocommand"
"runtime"
_ "runtime/pprof" // trailing inline comments
"strings"
)
License
Copyright 2013 The Go Authors. All rights reserved.
Use of this source code is governed by a BSD-style license that can be found in the LICENSE file.