[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#861176: RFP: elpa-go-mode -- Emacs mode for the Go programming language

Package: wnpp
Severity: wishlist

* Package name    : elpa-go-mode
  Version         : 1.5.0
  Upstream Author : Dominik Honnef <dominik@honnef.co>
* URL             : https://github.com/dominikh/go-mode.el
* License         : BSD-3-clause
  Programming Lang: Elisp
  Description     : Emacs mode for the Go programming language

This is go-mode, the Emacs mode for editing Go code.

It is a complete rewrite of the go-mode that shipped with Go 1.0.3 and
before, and was part of Go 1.1 until Go 1.3. Beginning with Go 1.4,
editor integration will not be part of the Go distribution anymore,
making this repository the canonical place for go-mode.

In addition to normal features, such as fontification and indentation,
and close integration with familiar Emacs functionality (for example
syntax-based navigation like beginning-of-defun), go-mode comes with
the following extra features to provide an improved experience:

 * Integration with gofmt by providing a command of the same name, and
   gofmt-before-save, which can be used in a hook to format Go buffers
   before saving them.

 * Integration with godoc via the functions godoc and godoc-at-point.

 * Integration with the Playground

 * Managing imports

 * Integration with godef

 * Basic support for imenu (functions and variables)

 * Built-in support for displaying code coverage as calculated by go
   test (go-coverage)

 * Several functions for jumping to and manipulating the individual
   parts of function signatures. These functions support anonymous
   functions, but are smart enough to skip them when required
   (e.g. when jumping to a method receiver or docstring.)

 * All of these functions accept a prefix argument (C-u), causing them
   to skip anonymous functions.

 * GOPATH detection – the function go-guess-gopath will guess a
   suitable value for GOPATH, based on gb or wgo projects, Godeps and
   src folders for plain GOPATH workspaces. The command go-set-project
   uses the return value of go-guess-gopath to set the GOPATH
   environment variable.


I use this all the time when programming Go. Very useful: keeps file
all tidy and all. I am not aware of another go-mode.el currently
packaged in Debian.

I'd be happy to comaintain this if no-one steps up to the task in the

Reply to: