This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/!lang/go
2015-08-02 17:54:04 -04:00
..
extensions/go-rename Prefix categories with ! 2015-05-25 00:50:38 -04:00
img Prefix categories with ! 2015-05-25 00:50:38 -04:00
config.el Prefix categories with ! 2015-05-25 00:50:38 -04:00
extensions.el Prefix categories with ! 2015-05-25 00:50:38 -04:00
packages.el Use exec-path-from-shell-copy-env to set GOPATH. 2015-07-23 22:39:52 -04:00
README.org Mention godef install needed for SPC m g g 2015-08-02 17:54:04 -04:00

GO contribution layer for Spacemacs

/TakeV/spacemacs/media/commit/5269411ed8f2535b2694fac44bbc7848c52cf82f/contrib/!lang/go/img/go.png

Description

This layer adds extensive support for go.

Features:

Install

Pre-requisites

You will need gocode and godef:

  go get -u -v github.com/nsf/gocode
  go get -u -v github.com/rogpeppe/godef

Make sure that gocode executable is in your PATH.

Layer

To use this contribution add it to your ~/.spacemacs

  (setq-default dotspacemacs-configuration-layers '(go))

Working with Go

Go commands (start with m):

Key Binding Description
SPC m d p godoc at point
SPC m i g goto imports
SPC m i a add import
SPC m i r remove unused import
SPC m p b go-play buffer
SPC m p r go-play region
SPC m p d download go-play snippet
SPC m t p run "go test" for the current package
SPC m g a jump to matching test file or back from test to code file
SPC m g g go jump to definition

Go Oracle

Key Binding Description
SPC m o o go-oracle set analysis scope
SPC m o < go-oracle show possible callers
SPC m o > go-oracle show call targets
SPC m o c go-oracle show channel sends/receives
SPC m o d go-oracle show definition
SPC m o f go-oracle show free variables
SPC m o g go-oracle show callgraph
SPC m o i go-oracle show implements relation
SPC m o p go-oracle show what the select expression points to
SPC m o r go-oracle show all references to object
SPC m o s go-oracle show callstack
SPC m o t go-oracle describe selected syntax, kind, type and methods