• This repository has been archived on 07/May/2021
  • Stars
    star
    1,510
  • Rank 31,048 (Top 0.7 %)
  • Language
    JavaScript
  • License
    Other
  • Created over 10 years ago
  • Updated over 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An Enhanced Go Experience For The Atom Editor

Greenkeeper badge

An Improved Go Experience For The Atom Editor

image

Overview

This package includes the following functionality:

  • Display information about your current go installation, by running go version and go env
  • Autocomplete using gocode
  • Format your code with gofmt, goimports, or goreturns; optionally run one of these tools on save of any .go file
  • Run go install . and go test -c -o {tempdir} . to verify your code compiles and to keep gocode suggestions up to date
  • Run a variety of linters (e.g. golint, vet, etc.) against your code using gometalinter, revive or golangci-lint
  • Run tests, display test output, and display test coverage using go test -coverprofile
  • Display documentation for identifiers in source code using gogetdoc
  • Rename the symbol under your cursor using gorename
  • Go to definition using guru or godef
  • Highlight occurrences of an identifier using guru
  • Find usages of an identifier using guru

You can add debug functionality to Atom by installing the following package:

Builds

How Are The Builds Performed?

The following commands are run for the directory of the current file:

  • go install . (for normal .go files)
  • go test -o {tmpdir} -c . (for _test.go files)

Why Are You Running go install Instead Of go build?

gocode (and a few other tools, like gotype) work on .a files (i.e. the package object archive), and the way to keep these up to date is to run go install periodically. This ensures your autocomplete suggestions are kept up to date.

Platforms

The package has CI for OS X, Windows and Ubuntu.

Installing Missing Tools

If you are missing any required tools, you may be prompted to install them. You can also manually install the required tools in your terminal:

go get -u golang.org/x/tools/cmd/goimports
go get -u golang.org/x/tools/cmd/gorename
go get -u github.com/sqs/goreturns
go get -u github.com/mdempsky/gocode
go get -u github.com/alecthomas/gometalinter
go get -u github.com/mgechev/revive
go get -u github.com/golangci/golangci-lint/cmd/golangci-lint
go get -u github.com/zmb3/gogetdoc
go get -u github.com/zmb3/goaddimport
go get -u github.com/rogpeppe/godef
go get -u golang.org/x/tools/cmd/guru
go get -u github.com/fatih/gomodifytags
go get -u github.com/tpng/gopkgs
go get -u github.com/ramya-rao-a/go-outline

Having Issues?

Please consult the FAQ prior to opening an issue: https://github.com/joefitzgerald/go-plus/wiki/FAQ

If you have an issue with debugging, file an issue with go-debug here.

Maintainers

Contributors

A list of contributors can be found at https://github.com/joefitzgerald/go-plus/graphs/contributors. Thank you so much to everyone has contributed to the package ❀️. You are awesome!

Contributing

Contributions are greatly appreciated. Please fork this repository, make your changes, and open a pull request. See Contributing for detailed instructions.

More Repositories

1

packer-windows

Windows Packer Templates
PowerShell
1,636
star
2

slack-dump

Export History For Private Groups From Slack
Go
62
star
3

inductor

Inductor Generates Packer (http://packer.io) Templates Using Inductor Templates
Go
43
star
4

autocomplete-go

An Atom autocomplete-plus provider for the Go language that uses gocode to provide suggestions.
JavaScript
29
star
5

gometalinter-linter

A Linter For Atom That Runs gometalinter
JavaScript
18
star
6

forecast

A Forecast (forecastapp.com) API Client For Go
Go
13
star
7

navigator-go

Atom Package For Navigating To The Symbol Under The Cursor Using godef
JavaScript
7
star
8

go-config

Atom Package For Detecting And Configuring Installed Go Runtime(s)
JavaScript
7
star
9

standardlog

A Go (golang) Interface For The Standard Library's log.Logger
Go
6
star
10

builder-go

Builds Go Source Code In Atom
JavaScript
6
star
11

go-get

An Atom Package For Managing Go Libraries And Executables
JavaScript
5
star
12

gofmt

Atom Package For Running gofmt / goimports / goreturns
JavaScript
5
star
13

graphql

A Go GraphQL Client
Go
4
star
14

rainbow-reporter

A spec (https://github.com/sclevine/spec) reporter that is colorized 🌈!
Go
4
star
15

tester-go

Atom Package To Run Your Go Tests And Display Test Coverage
JavaScript
4
star
16

openair

A go generator for the OpenAir XML API
Go
3
star
17

buildpack

A Collection Of Go (golang) Interfaces Representing The Contracts Required For A Buildpack
Go
2
star
18

passwordcredentials

A golang.org/x/oauth2 client for the passwordcredentials OAuth 2.0 flow.
Go
2
star
19

streamlog

A Go (golang) Logger For Standard Output Streams
Go
2
star
20

gabby

Tame the calendar beast!
Go
1
star
21

sqlce

Microsoft SQL Server (Compact Edition) Cookbook
Ruby
1
star
22

presentations

Joe's Presentations
1
star
23

joefitzgerald.github.io

joefitzgerald.io Content
1
star
24

vimfiles

.vim directory
Vim Script
1
star
25

sfdc

Go client for the Salesforce / SFDC REST API
Go
1
star