Skip to content
This repository has been archived by the owner on May 7, 2021. It is now read-only.

v4.0.0

Compare
Choose a tag to compare
@joefitzgerald joefitzgerald released this 17 Mar 21:12
· 649 commits to master since this release

go-plus v4.0.0 is an evolution of the package. Prior versions were monolithic, including a large amount of code and functionality in a single package. This new version splits the functionality out into single-purpose packages:

  • go-config: Detects your go installation(s) and configures your environment, while laying the foundation for future gb and glide integration
  • go-get: If you are missing a tool, this package will offer to run go get to fetch it
  • autocomplete-go: An autocomplete-plus provider that uses gocode to provide suggestions
  • gofmt: Format your go source code using gofmt, goimports, or goreturns
  • gometalinter-linter: Run a variety of linters (e.g. lint, vet, gotype, etc.) against your code
  • navigator-godef: Go to definition using godef
  • tester-go: Display test coverage using go test -coverprofile
  • 🆕 gorename: Rename the symbol under your cursor using gorename (thanks @zmb3!)

This should make it easier for you to reason over the code related to each piece of go-plus functionality (admittedly at the cost of figuring out "which package do I need to work with?"). It will also allow others to build upon the foundation that exists in go-config and go-get.

New

  • Added gorename support
  • Removed specific vet and lint linting functionality and replaced it with gometalinter, which gives you many more options for linting
    • gometalinter-linter integrates with linter to display warnings and errors

Improved

  • All packages are now written in JavaScript (ES6) instead of CoffeeScript (hopefully this makes contribution easier)
  • If you are missing tools, go-get will now prompt you to install them, rather than automatically doing so
  • (OS X) You used to have to launch atom from the terminal to have it function correctly (due to a quirk in the way OS X and launchd work) - we have patched atom to allow it to work correctly even when you launch it from Finder, Dock, or Spotlight but this requires Atom >= 1.7.0 (1.6.x is in the stable channel now, 1.7.x is in the beta channel); the environment package will be installed to perform this patching for you until 1.7.0 is the stable release
  • You can now individually run gofmt, goimports, or goreturns against files (so for example, you may choose to run gofmt on save by default and then periodically (manually) invoke the command to run goimports)

Deprecated

  • "Display Go Information" is now gone - it may make a comeback in the future, we'll see
  • The old go-plus message panel is gone - you should not expect to see a pop-up that displays information about your environment